教程by 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>
答案 0 :(得分:0)
This script 遗漏了一个非常重要的元素&gt;&gt;&gt; $name=$_GET['name'];
&lt;&lt;&lt;
首先必须将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
?>
名称提交表单后链接。你可以做任何你想做的事情,数据库使用等等。
{{1}}