PHP从输入字段获取文本月,日和年

时间:2014-08-26 01:08:51

标签: php html mysql date

我在输入字段中有一个文本月,日和年,我想将其转换为稍后将插入MySQL表中“日期”字段的日期。

HTML输入字段的文字月,日和年:“2014年8月25日”。

PHP:

$time_cell_row = 1;
$time_cell_column = 1;

echo "<form name='timesubmit" . $time_cell_row . "' action='enter_time.php?action=timesubmit" .$time_cell_row . "' method='post'>";  

$todays_date = strtotime("today");  // 
$FormattedCurrDate = date('M d, Y', $todays_date);  // Converts to "Aug 25, 2014"

echo "<th><input name=daycell1 type=text value=" . $FormattedCurrDate . "<disabled /></th>";

// The above echo statement displays "Aug" in a table cell instead of "Aug 25, 2014"

echo "<td><input name=submit_time" . $time_cell_row . $time_cell_column . " type=submit></input></td>";
echo  "</form></tr>";


$date1 = $_POST['daycell1'];  // null 
echo "Date from input field: " . $date1; // Nothing is displayed from $date1 since is null

          echo "<br>"; 

为什么$ _POST ['daycell1']显示为空而不是放入“2014年8月25日”?

1 个答案:

答案 0 :(得分:2)

当然,$date1null,因为您尚未提交表单,因此$_POST['daycell1']在首次加载时仍未定义。

<input />标记是无效标记,它们没有结束标记。如果您希望它们包含值,请使用value=""属性。

请勿使用disabled属性。具有disabled属性的所有输入标记都不会包含在$_POST中。请改用readonly

// defaults to current day
$FormattedCurrDate = date('M d, Y');

echo '<form method="POST">';
    echo '<table><tr>';
        echo "<th><input name='daycell1' type='hidden' value='$FormattedCurrDate' /></th>";
        echo '<td><input type="submit" name="submit" /></td>';
    echo '</tr></table>';
echo '</form>';

// if submit button is pressed
if(isset($_POST['submit'])) {
    $date = $_POST['daycell1']; // assign the hidden tag value to variable
    echo $date;
}

日期被截断,因为您错过了收尾报价。

echo "<th><input name=daycell1 type=text value='" . $FormattedCurrDate . "' /></th>";
                                           //  ^ quotes                   ^ quotes

旁注:始终在开发时启用错误报告

error_reporting(E_ALL);
ini_set('display_errors', '1');