0

エラーが発生しないように文字列 "" をフォーマットする方法がよくわかりません。

<html>
<head>
</head>
<body>

Please register:

<?php if (!isset($_POST['username']) && !isset($_POST['password'])) {

echo "<form action="<?php $_SERVER['PHP_SELF'] ?>" method="POST">";

echo "Username: <input type="text" name="username">";
echo "Email: <input type="text" name="email">";
echo "Password: <input type="password" name="password"></br>";

echo "<input type="submit" value="Register">";

echo "</form>"; 
4

2 に答える 2

1

いくつかの問題があります:

echo "<form action="<?php $_SERVER['PHP_SELF'] ?>" method="POST">";

する必要があります

echo "<form method="POST">";

アクションが指定されていない場合、フォームは現在のページに送信されるためです。それでもアクションを指定したい場合は、次のようになります。

echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';

また

echo "Username: <input type="text" name="username">";

する必要があります

echo 'Username: <input type="text" name="username">';

エコーしようとしていた文字列に二重引用符が含まれているためです。

于 2013-06-07T01:58:33.967 に答える
0

これらの引用符 ( ) をエスケープする\"か、単一引用符 ( ) を使用する'か、おそらく最良の方法は、コードを次のように書き直すことです。

<?php if (!isset($_POST['username']) && !isset($_POST['password'])) : ?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

Username: <input type="text" name="username">
Email: <input type="text" name="email">
Password: <input type="password" name="password"></br>

<input type="submit" value="Register">

</form>
...
<?php endif; ?>

PHP ブロック内に PHP タグがあるため、この行は間違っています。 echo "<form action="<?php $_SERVER['PHP_SELF'] ?>" method="POST">";

于 2013-06-07T01:58:27.197 に答える