php条件语法;两个分支都出现了

php条件语法;两个分支都出现了,php,if-statement,syntax,mamp,Php,If Statement,Syntax,Mamp,教程中的php“if语句”示例似乎不起作用。具体来说,当页面加载时,条件的两个分支都会出现。 我也尝试过改成非速记的“if”语法,但没有效果。 这个问题不是语法问题吗 代码如下: <!DOCTYPE html> <html> <head> <title> Sample Page </title> </head> <body> <?php if(isset($name)) : ?> <

教程中的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>

样本页
您的姓名:

此段落包含将名称变量传递到下一个文档的

请输入您的用户名:
遗漏了一个非常重要的元素>
$name=$\u GET['name']这是整个代码吗?我只是复制了你发布的所有内容并运行了它,它可以正常工作,只显示
else
后面的部分,因为
$name
没有设置。
action=“”
实际上与
action=“”
相同。这个脚本省略了一个重要元素
$name=$\u GET['name'在上面添加
if(isset($name))
,这样它现在读作
,就可以工作了。(已测试)请参阅下面我的答案(已测试且正在工作)Nick Coons-这确实是整个代码。我看不到语法错误。。。hjpotter-我认为这个想法是让该语句出现在条件的“else”分支中,提示用户输入一个名称,而其中一个名称不存在,因为代码对其他人正常工作,我应该开始查看我的MAMP设置吗?谢谢Fred-添加额外语句对我的情况没有任何影响;尽管我原则上理解你的修正案将实现什么样的效果,但页面仍然加载了这两个分支的输出。我一定是无意中以其他方式造成了错误。@user2651379不客气。但我不明白为什么它对你不起作用。我对我的代码进行了全面测试,它非常有效。你到底想要实现什么?@user2651379我刚才注意到你关于
MAMP
的消息,所以你在本地运行这个。我刚刚添加了相关的标签。
<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>
<?php 

echo($_GET['name']);

// do something else

?>