2

ここからリダイレクトしています

<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();
}
?>

表示されるエラー:-注意:未定義のインデックス: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>
4

1 に答える 1

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

$_POSTpostパーツに含まれるフォームを送信してページにアクセスすると、値が含まれますmethod

に関しては$_GET、その値は URL のクエリ文字列から取得されます。

http://yourpage.php?foo=bar&bar=foo

barの値です$_GET['foo']

fooの値です$_GET['bar']

基本的な $_POST/$_GET の説明を検索しましたが、見つかりません:-D

于 2013-02-03T18:15:04.847 に答える