0

これが機能しない理由はわかりません。エラーは発生していませんが、結果は表示されません。3 つのテキスト フィールドの結果を表示したいだけです。次にやりたいことは、データをデータベースに入力して表示することですが、それは次の段階になると思います。ありがとうございました。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<?php
$Fname = $_POST["Fname"];
$Lname = $_POST["Lname"];
$Pword = $_POST["Pword"];

if (!isset($_POST['submit'])) { // if page is not

?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>

<body>

<form method = "post" action = "<?php echo $PHP_SELF;?>">

First name<input name="Fname" type="text" maxlength="12"
/>
<br />
<br />

Last name<input name="Lname" type="text" maxlength="12"
/>
<br />
<br />

<!--Address <input name="register_address" type="text" maxlength="12"
/>
<br />
 <br />-->
<!--<select name="state" value="State"></select>-->


Password<input name="Pword" type="text" maxlength="12"
/>
<br />
<br />

<!--Re-type Password<input name="register_password_confirm" type="text" maxlength="12"
/>
<br />
<br />-->

<input name="submit" type="button" value="Submit" />



</form>

<?
} else {
echo "Hello, ".$Fname." ".$Lname.".<br />";
echo "Your Password is, " .$Pword.".<br />";
}
?>




</body>
</html>
4

4 に答える 4

3

私が見る3つの問題

1 - あなたのボタンは送信ボタンではありません

変化する:

<input name="submit" type="button" value="Submit" />

<input name="submit" type="submit" value="Submit" />

2 - 登録グローバルがオフになっている可能性があります

変化する:

<?php echo $PHP_SELF;?>

<?php echo $_SERVER['PHP_SELF'];?>

3 - 短い開始タグがオフになっている可能性があります

変化する:

<?
} else {
echo "Hello, ".$Fname." ".$Lname.".<br />";
echo "Your Password is, " .$Pword.".<br />";
}
?>

<?php
} else {
echo "Hello, ".$Fname." ".$Lname.".<br />";
echo "Your Password is, " .$Pword.".<br />";
}
?>
于 2013-03-06T19:58:49.910 に答える
1

送信ボタンを に変更する必要がtype="submit"あります。また、変数宣言を else ステートメント内に移動して、PHP の警告を回避することもできます。

<input name="submit" type="submit" value="Submit" />

と:

<?php
} else {
    $Fname = $_POST["Fname"];
    $Lname = $_POST["Lname"];
    $Pword = $_POST["Pword"];
    echo "Hello, ".$Fname." ".$Lname.".<br />";
    echo "Your Password is, " .$Pword.".<br />";
}
?>

最後に、ステートメントに入れる html の量をif最小限に減らします。将来、条件の処理方法を変更すると、競合が発生する可能性があります。

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Untitled Document</title>
    </head>
    <body>

    <?php
    if (!isset($_POST['submit'])) { // if page is not
        ?>
        <form method = "post" action = "<?php echo $_SERVER['PHP_SELF'];?>">
            First name<input name="Fname" type="text" maxlength="12" /><br /><br />
            Last name<input name="Lname" type="text" maxlength="12" /><br /><br />
            <!--Address <input name="register_address" type="text" maxlength="12" /> <br /> <br />-->
            <!--<select name="state" value="State"></select>-->
            Password<input name="Pword" type="text" maxlength="12" /><br /><br />
            <!--Re-type Password<input name="register_password_confirm" type="text" maxlength="12" /><br /><br />-->
            <input name="submit" type="submit" value="Submit" />
        </form>
        <?php
    } else {
        $Fname = $_POST["Fname"];
        $Lname = $_POST["Lname"];
        $Pword = $_POST["Pword"];
        echo "Hello, ".$Fname." ".$Lname.".<br />";
        echo "Your Password is, " .$Pword.".<br />";
    }
    ?>
    </body>
</html>
于 2013-03-06T19:59:35.757 に答える
0

次のように結果をエコーし​​てみてください。

echo "Hello, $Fname $Lname.<br />
      Your Password is, $Pword.<br />";

二重引用符を使用してエコーする場合、変数の後のドットは必要ないことを付け加えるのを忘れていました。

于 2013-03-06T19:58:03.407 に答える
0

を追加してみてください

<input type="hidden" name="submitted" value="1" />

とチェック

$_POST['submitted'] == 1
于 2013-03-06T19:56:51.120 に答える