1

子情報を表示するためにセッションが機能しているので、その情報を編集してデータベースを更新できるようにしたいと考えています。すべての YouTube ビデオと Web サイトを試しましたが、$_SESSION を使用するものはありません。すべて $_POST を使用します。

<div class="post">
  <h1 class="title">Child Details: </h1>
    <p class="title"><img src=" <?php echo "".$_SESSION['sourcepath']; ?>" 
    </p>
    <p class="title"><?php echo "".$_SESSION['ChildID']; ?></p>

    <table style="width: 100%">
        <tr>
            <td style="width: 106px">Name</td>
            <td style="width: 252px"><?php       echo "".$_SESSION            ['Firstname']; ?> <?php echo "".$_SESSION['Surname']; ?></td>
            <td style="width: 94px">School</td>
            <td><form method="post">
                <br />
                <textarea name="School" cols="20" rows="5"><?php echo "".$_SESSION['School']; ?></textarea></form>
            </td>
        </tr>
        <tr>
            <td style="width: 106px">Date of Birth</td>
            <td><?php echo "".$_SESSION['DateOfBirth']; ?></td>
            <td style="width: 94px">English</td>
            <td><form method="post">
                <br />
                <textarea name="English" cols="20" rows="5"><?php echo "".$_SESSION['English']; ?></textarea></form>
            </td>
        </tr>
        <tr>
            <td style="width: 106px">Age</td>
            <td><?php echo "".$_SESSION['Age']; ?>;</td>
            <td style="width: 94px">Science</td>
            <td><form method="post">
                <br />
                <textarea name="Science" cols="20" rows="5"><?php echo "".$_SESSION['Science']; ?></textarea></form>
            </td>
        </tr>
        <tr>
            <td style="width: 106px">Address</td>
            <td><form method="post">
                <br />
                <textarea name="Address" cols="20" style="height: 89px"><?php echo "".$_SESSION['Address']; ?></textarea></form>
            </td>
            <td style="width: 94px">Maths</td>
            <td><form method="post">
                <br />
                <textarea name="Maths" cols="20" rows="5"><?php echo "".$_SESSION['Maths']; ?></textarea></form>
            </td>
        </tr>
        <tr>
            <td style="width: 106px">Postcode:</td>
            <td><?php echo "".$_SESSION['PostCode']; ?>;</td>
            <td style="width: 94px">Homework</td>
            <td><form method="post">
                <br />
                <textarea name="Homework" cols="20" rows="5"><?php echo "".$_SESSION['Homework']; ?></textarea></form>
            </td>
        </tr>
        <tr>
            <td style="width: 106px">Contact Number</td>
            <td><form method="post">
                <textarea name="ContactNumber" cols="20" rows="2"><?php echo "".$_SESSION['ContactNumber']; ?></textarea></form>
            </td>
            <td style="width: 94px">Additional</td>
            <td><form method="post">
                <br />
                <textarea name="Additional" cols="20" rows="8"><?php echo "".$_SESSION['Additional']; ?></textarea></form>
            </td>
        </tr>
        <tr>
            <td style="width: 106px">Mother Name</td>
            <td><?php echo "".$_SESSION['MotherName']; ?></td>
            <td style="width: 94px">&nbsp;</td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td style="width: 106px">&nbsp;</td>
            <td>&nbsp;</td>
            <td style="width: 94px">&nbsp;</td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td style="width: 106px">Last Update</td>
            <td><?php echo "".$_SESSION['TimeStamp']; ?></td>
            <td style="width: 94px">&nbsp;</td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td style="width: 106px">&nbsp;</td>
            <td>&nbsp;</td>
            <td style="width: 94px">&nbsp;</td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td style="width: 106px">



            </td>
            <td>
            <form method="post" action="updatetest.php">
                <input type="hidden" name="id" value="<?php echo $_SESSION['ChildID']; ?>"/>
                <input name="Submit" type="submit" value="Update" /></form>
            </td>







<?php session_start(); ?>
    <?php       
    $connect = mysql_connect("127.0.0.1" , "root" , "") or die ("Couldnt connect     to            database");
    mysql_select_db("travellerfile") or die ("couldnt find the database");

    $School = $_SESSION['School'];
    $Maths = $_SESSION['Maths'];
    $English = $_SESSION['English'];
    $Science = $_SESSION['Science'];
    $Homework = $_SESSION['Homework'];
    $Additional = $_SESSION['Additional'];
    $id = $_SESSION['ChildID'];

    $q = "SELECT * FROM child WHERE ChildID = $_SESSION[ChildID]";
    $result = mysql_query($q);
    $person = mysql_fetch_array($result);

    $u = "UPDATE child SET Maths= '$_SESSION['Maths']', Science= '$_SESSION['Science']';
?>
4

4 に答える 4

1
$_SESSION['School'] = $_POST['School'];
$School = $_SESSION['School'];

$_SESSION['School'] に 'School' という名前の Textarea の値が含まれていることをどこかで宣言する必要があります。PHP が POST 変数を SESSION 変数に入れることを期待することはできません

于 2013-04-04T11:58:16.943 に答える
1

例えば:

  $_SESSION['ChildID'] = 5;

 <form method="post" action="updatetest.php">
 <input type="hidden" name="id" value="<?php echo $_SESSION['ChildID']; ?>"/>
 <input name="Submit" type="submit" value="Update" /></form>

これはあなたを投稿します:

 $_POST['id'] = 5;

そう:

 UPDATE table SET col = $_POST['id'];
于 2013-04-04T11:59:22.317 に答える
0

$_POSTとは$_SESSION単なる配列です。それらを特別なものにする唯一のことは、それらがグローバルであることです. したがって、 で機能するコードがある場合は、対応する値$_POSTに置き換えてください。$_SESSION

あなたの本当の問題は、フォームを送信していることです。フォームはgetまたはpostメソッドを使用して送信できます。方法はありませんsession。したがって、値は$_POST変数内の php スクリプトに到達しています。その後、更新を実行する前にそれらを変数にコピーできますが、$_SESSION実際には正当な理由はありません。それらが必要な唯一の理由は$_SESSION、送信された値でフォームを再表示する必要がある場合に出力できるようにするためです。

于 2013-04-04T12:12:35.713 に答える
0

データベースの$_SESSION終了グラブを更新します。$_POST

...
$School = $_['School'] = $_POST['School'];
$Maths = $_SESSION['Maths'] = $_POST['Maths'];
$English = $_SESSION['English'] = $_POST['English'];
$Science = $_SESSION['Science'] = $_POST['Science'];
$Homework = $_SESSION['Homework'] = $_POST['Homework'];
$Additional = $_SESSION['Additional'] = $_POST['Additional'];
$id = $_SESSION['ChildID'];
...
于 2013-04-04T12:03:14.233 に答える