0

このコードが 'id1' テキスト ボックスを 'updateUser.php' ページに投稿しないようにする問題を誰かが確認できますか? 私は彼女がこれを30分間じっと見つめていましたが、トラブルシューティングのために何が悪いのか理解できませんでした.フォームに値の文字列を入力しても、決して入力されません。

<table>
<form method="post" action="updateUser.php">
<tr>
<td></td><td align="right"><input type="text" id="id1"  value="<?php echo "$id" ; ?     >" ></input></td>
</tr>
<tr>
<td align="right">Enter your current password:</td><td align="right"><input type="text" id="user1"></td>
</tr>
</br>
<tr>
<td align="right">Enter your new username:</td><td align="right"><input type="text" id="user2"></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Change"></input></td>
</form>
</tr>

そして、関連する updateUser.php は次のとおりです。

 $id = $_GET['id1'];
 $password = $_GET['user1'];
 $newUser = $_GET['user2'];
 $username = $_SESSION['username'];
4

1 に答える 1

2

ここにあるフォームにはいくつかの問題があります。

データを取得する必要がある入力には、name=属性が必要です。

PHP コードのブロックを閉じると、次のようになります。?>

<input>次のコードで要素がどのように閉じるかを観察します。

HTML 構造の問題: は<form>をラップ<table>する必要があると思います。表の行間にスペースが必要な場合は、 ではなくスタイルで実現する必要があります<br />

以下はクリーンアップされたコードです。

<form method="post" action="updateUser.php">
    <table>
        <tr>
            <td></td>
            <td align="right"><input type="text" id="id1" name="id1" value="<?php echo htmlentities("$id", ENT_QUOTES); ?>" /></td>
        </tr>
        <tr>
            <td align="right">Enter your current password:</td>
            <td align="right"><input type="text" id="user1" name="user1" /></td>
        </tr>
        <tr>
            <td align="right">Enter your new username:</td>
            <td align="right"><input type="text" id="user2" name="user2" /></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="Change" /></td>
        </tr>
    </table>
</form>

また、奇妙な文字が含まれている場合や整数でないhtmlentities()場合に備えて、呼び出しにも注意してください。$idおそらく必要ではありませんが、確認するだけです。

method='post' を使用すると、これらの変数を取得するコードは次のようになります。

$id = $_POST['id1'];
$password = $_POST['user1'];
$newUser = $_POST['user2'];
于 2013-07-15T18:39:48.073 に答える