Php 如果满足条件,则插入日期戳
如果条件满足,我想在变量中插入日期时间戳。但我得到了以下错误: 注意:未定义索引:第55行C:\wamp\www\business\edit\u log\u widget.php中的状态 以下是php代码:Php 如果满足条件,则插入日期戳,php,mysql,datetime,Php,Mysql,Datetime,如果条件满足,我想在变量中插入日期时间戳。但我得到了以下错误: 注意:未定义索引:第55行C:\wamp\www\business\edit\u log\u widget.php中的状态 以下是php代码: <?php include 'scripts/init.php'; include 'html/header.php'; $page = 'servers'; $id =$_SESSION['logid']; $query = "SELECT
<?php
include 'scripts/init.php';
include 'html/header.php';
$page = 'servers';
$id =$_SESSION['logid'];
$query = "SELECT *FROM log WHERE logid = $id";
$query_submit = mysql_query($query) or die(mysql_error);
$row = mysql_fetch_assoc($query_submit);
?>
<div class="article">
<h2><span>Edit Logs</span></h2>
<div class="clr"></div>
<form action="" method="POST" >
<p>
<table border="0">
<tr>
<td><label for="Task Name">Task Name:*</label></td>
<td><input type="text" name="task_name" size="45" value="<?php echo $row['task_name'] ?>"/></td>
</tr>
<tr>
<td><label for="description">Problem Description:*</label></td>
<td><textarea name="description" cols="33" rows="10" ><?php echo $row['description'] ?></textarea></td>
</tr>
<tr>
<td><label for="solution">Solution Description:*</label></td>
<td><textarea name="solution" cols="33" rows="10" ><?php echo $row['solution'] ?></textarea></td>
</tr>
<tr>
<td><label for="status">Status:*</label></td>
<td>
<select id="Select2" name="status">
<option>-Select-</option>
<option>Resolved</option>
<option>Un-resolved</option>
<option>In-Progress</option>
</select>
</td>
</tr>
</table>
</p>
<p>
<td><input id="Submit" type="submit" value="Submit" /></td>
<td><input id ="Clear and Restart" type ="reset" value= "Clear and Restart" /></td>
</p>
<?php
if($_POST['status']== 'Resolved')
{
$today = DateTime::createFromFormat('!Y-m-d',date('Y-m-d')); // This is Line 55
}
if(isset($_GET['success']) && empty($_GET['sucess']))
{
echo 'the log has been captured';
}
else
{
if(empty($_POST) === false && empty($errors)=== true)
{
//Update Log details
$update_log = array(
'task_name'=>$_POST['task_name'],
'description' => $_POST['description'],
'solution' =>$_POST['solution'],
'status'=>$_POST['status'],
'closed_date'=>$today,
'userid' =>$_SESSION['userid']);
update_log($update_log);
//redirect
header('Location: edit_log_widget.php?success');
exit();
}
else if(empty($errors) === false)
{
//output errors if the errors array is not empty
echo output($errors);
}
}
?>
</form>
<?php
include 'html/side_menu.php';
include 'html/footer.php';
?>
编辑日志
任务名称:*
解决方案说明:*
地位:*
-挑选-
断然的
未解决
进行中
更新:编辑_log.php
<?php
include 'scripts/init.php';
include 'html/header.php';
$page = 'servers';
$id = $_GET['logid'];
$_SESSION['logid'] = $id;
$query = "SELECT *FROM log WHERE logid = $id";
$query_submit = mysql_query($query) or die(mysql_error);
$row = mysql_fetch_assoc($query_submit);
?>
<div class="article">
<h2><span>Edit Logs</span></h2>
<div class="clr"></div>
<form action="edit_log_widget.php" method="POST" >
<p>
<table border="0">
<tr>
<td><label for="Task Name">Task Name:*</label></td>
<td><input type="text" name="task_name" size="45" value="<?php echo $row['task_name'] ?>"/></td>
</tr>
<tr>
<td><label for="description">Problem Description:*</label></td>
<td><textarea name="description" cols="33" rows="10" ><?php echo $row['description'] ?></textarea></td>
</tr>
<tr>
<td><label for="solution">Solution Description:*</label></td>
<td><textarea name="solution" cols="33" rows="10" ><?php echo $row['solution'] ?></textarea></td>
</tr>
<tr>
<td><label for="status">Status:*</label></td>
<td>
<select id="Select2" name="status">
<option>-Select-</option>
<option value="Resolved">Resolved</option>
<option value="Un-resolved">Un-resolved</option>
<option value="In-Progress">In-Progress</option>
</select>
</td>
</tr>
</table>
</p>
<p>
<td><input id="Submit" type="submit" value="Submit" /></td>
<td><input id ="Clear and Restart" type ="reset" value= "Clear and Restart" /></td>
</p>
</form>
<?php
include 'html/side_menu.php';
include 'html/footer.php';
?>
编辑日志
任务名称:*
解决方案说明:*
地位:*
-挑选-
断然的
未解决
进行中
您尚未为选项指定任何值;)
已解决
未定义数组$\u POST的条目状态
您正在尝试访问尚未设置的变量
为了避免您可以先检查表单是否在提交之前提交,例如
<?php
if(!empty($_POST['Submit'])){
if($_POST['status']== 'Resolved')
{
$today = DateTime::createFromFormat('!Y-m-d',date('Y-m-d')); // This is Line 55
}
if(isset($_GET['success']) && empty($_GET['sucess']))
{
echo 'the log has been captured';
}
else
{
if(empty($_POST) === false && empty($errors)=== true)
{
//Update Log details
$update_log = array(
'task_name'=>$_POST['task_name'],
'description' => $_POST['description'],
'solution' =>$_POST['solution'],
'status'=>$_POST['status'],
'closed_date'=>$today,
'userid' =>$_SESSION['userid']);
update_log($update_log);
//redirect
header('Location: edit_log_widget.php?success');
exit();
}
else if(empty($errors) === false)
{
//output errors if the errors array is not empty
echo output($errors);
}
}
}
?>
PHP代码是在表单提交之前执行的,因此$u POST['status']尚未定义。您缺少一些html道具,您的
必须有一个值道具,如下所示:
<td>
<select id="Select2" name="status">
<option value="0">-Select-</option>
<option value="1">Resolved</option>
<option value="2">Un-resolved</option>
<option value="3">In-Progress</option>
</select>
</td>
-挑选-
断然的
未解决
进行中
您之所以会出现此错误,是因为您在第一个html代码段中丢失了它,而在第二个html代码段中却丢失了它,因此PHP无法获取任何内容我将所有PHP移到了html表单的顶部,现在它可以正常工作了。感谢大家帮助我解决问题第55行对应的是什么?我在代码上找到了它。它的if($_POST['status']=='Resolved')---第55行{$today=DateTime::createFromFormat('!Y-m-d',date('Y-m-d'));}上述代码的可能副本用于edit_log_widget.php。初始表单在edit_log.php上完成,然后通过its传递到edit_log_widget.php,因此我认为在php被执行之前状态应该有一个值,它是如何传递到edit_log_widget.php的?也许有什么不对劲?如果我没有遗漏任何东西,我会用它来传递值?是的!这就是我传递它的方式,我只是没有附加edit_log.php的代码。以上代码仅适用于edit_log_widget.php。如果您也可以附加edit_log.php的代码,则更容易查看传递值是否有任何错误。您确定要从选择框发送值吗?如果在edit_log.php上提交表单,并选择“-Select-”-选项,则不会定义$\u POST['status'],因为该选项中没有值。如果您从edit_log_widget.php提交表单,则所有选项都没有值,并且状态将永远不会被定义。检查表单是否在发送之前发送。我认为表单已发送。表单发送之后,您将不再看到“通知:未定义索引:状态”通知。
<?php
if(!empty($_POST['Submit'])){
if($_POST['status']== 'Resolved')
{
$today = DateTime::createFromFormat('!Y-m-d',date('Y-m-d')); // This is Line 55
}
if(isset($_GET['success']) && empty($_GET['sucess']))
{
echo 'the log has been captured';
}
else
{
if(empty($_POST) === false && empty($errors)=== true)
{
//Update Log details
$update_log = array(
'task_name'=>$_POST['task_name'],
'description' => $_POST['description'],
'solution' =>$_POST['solution'],
'status'=>$_POST['status'],
'closed_date'=>$today,
'userid' =>$_SESSION['userid']);
update_log($update_log);
//redirect
header('Location: edit_log_widget.php?success');
exit();
}
else if(empty($errors) === false)
{
//output errors if the errors array is not empty
echo output($errors);
}
}
}
?>
<td>
<select id="Select2" name="status">
<option value="0">-Select-</option>
<option value="1">Resolved</option>
<option value="2">Un-resolved</option>
<option value="3">In-Progress</option>
</select>
</td>