我从这里重定向
<a href="update_post.php?updid=<?php echo $_SESSION['id']; ?>">Update</a>
和显示错误的代码是
<?php include('../includes/connections.php'); ?>
<?php
try{
if(isset($_POST['submit'])){
$title = $_POST['title'];
$post = $_POST['post'];
$dates = $_POST['date'];
$sql = 'UPDATE `blog`.`contents` SET `titles` = :title, `posts` = :post, `dates` = :date WHERE `contents`.`id` = :idendity';
$result = $pdo->prepare($sql);
$result->bindValue(':title',$title);
$result->bindValue(':post',$post);
$result->bindValue(':date',$dates);
$result->bindValue(':idendity',$_GET['updid']);
$result->execute();
$count = $result->rowCount();
if($count == 1){
header('location: index.php');
}else{
echo 'Problem Occoured';
}
}
}
catch(PDOException $e){
echo "Problem: " .$e->getMessage();
}
?>
显示错误:-Notice:未定义的索引:第13行的C:\ xampp \ htdocs \ myblog \ admin \ update_post.php中的updid 问题被忽视
<form action="update_post.php" method="post">
Title:<br/>
<input style="height:40px;" size="110" type="text" name="title" /><br />
Post:<br />
<textarea rows="30" cols="85" name="post" ></textarea><br />
Date:<br />
<input type="text" name="date" /><br/ >
<input type="submit" name="submit" />
</form>
答案 0 :(得分:1)
是表单提交,这是我检查是否提交的原因。
您应该在表单中的隐藏字段中加入$_SESSION['id']
:
<input type="hidden" name="updid" value="<?php echo $_SESSION['id']; ?>" />
......并改变:
$result->bindValue(':idendity',$_GET['updid']);
...进入:
$result->bindValue(':idendity',$_POST['updid']);
修改强>
首先,您的上述问题有误。正如评论中所提到的,如果您点击链接,isset($_POST['submit'])
将无法返回true
。
$_POST
部分中post
的表单访问该页面时, method
会有值。
对于$_GET
,其值取自URL的查询字符串:
http://yourpage.php?foo=bar&bar=foo
bar
是$_GET['foo']
foo
是$_GET['bar']
我已经搜索了基本的$ _POST / $ _ GET解释但无法找到一个:-D