0

Kevin Yank によるチュートリアルの php 'if ステートメント' の例が機能していないようです。具体的には、ページが読み込まれると、条件の両方の分岐が表示されます。また、省略形ではない「if」構文に変更しようとしましたが、役に立ちませんでした。問題は構文以外ですか?

コードは次のとおりです。

<!DOCTYPE html>
<html>
<head>
<title> Sample Page </title>
</head>

<body>

<?php if(isset($name)) : ?>
    <p> Your name: <?php echo ($name); ?> </p>
    <p> This paragraph contains a <a href="goodone.php"> link</a> that passes the name variable on to the next document. </p> 

<?php else : ?>  
    <!-- No name has been provided, so prompt the user for one -->

    <form action="<php echo($PHP_SELF); ?>" method="get">
    Please enter your user name:
    <input type="text" name="name">
    <input type="submit" value="ok">
    </form>

<?php endif; ?>

</body>
</html>
4

1 に答える 1

0

このスクリプト は非常に重要な要素を省略しています>>>$name=$_GET['name'];<<<

name最初に変数として宣言する必要があります。

次の行の中に追加されています。<?php if(isset($name)) : ?>

以下の私のコードを参照してください:(テスト済みで動作中)

<HTML>
<HEAD>
<TITLE> Sample Page </TITLE>
</HEAD>
<BODY>

<?php $name=$_GET['name']; if (isset($name)): ?>

  <P>Your name: <?php echo($name); ?></P>

  <P>This paragraph contains a
<A HREF="newpage.php?name=<?php echo(urlencode
($name)); ?>">link</A> that passes the
name variable on to the next document.</P>

<?php else: ?>

  <!-- No name has been provided, so we
       prompt the user for one.         -->

  <FORM ACTION="<?php echo($PHP_SELF); ?>" METHOD="GET">
  Please enter your name: <INPUT TYPE="TEXT" NAME="name">
  <INPUT TYPE="SUBMIT" VALUE="GO">
  </FORM>

<?php endif; ?>

</BODY>
</HTML>

さらに、追加のボーナス(テスト済みで動作中) として、フォームを送信した後にリンクをクリックした後、goodone.phpファイル内の名前に以下の PHP コードを使用できます。echoデータベースの使用など、ここからやりたいことは何でもできます。

<?php 

echo($_GET['name']);

// do something else

?>
于 2013-08-05T00:12:25.857 に答える