nowind
发表于 2004-6-7 09:51:28
现在都改好了,输入栏也变成空白。但是,新的问题出现了,现在是无论输入不输入,都显示“谢谢”
我改了的所有代码如下:
<html>
<body>
<?php
if(isset($_POST["submit"])) {
if (!isset($_POST["first"])|| !isset($_POST["last"]) ) {
$_POST["error"]= "对不起,您必须填写所有的栏目!";
} else {
// 处理表格输入内容
echo "谢谢!";
}
}
if (!isset($_POST["submit"]) || isset($_POST["error"])) {
echo isset($_POST["error"]);
?>
<P>
<form method="post" action="<?php echo $PHP_SELF ?>">
第一栏: <input type="text" name="last" value="<?php echo isset($_POST["first"]) ?>"><br>
第二栏: <input type="text" name="first" value="<?php echo isset($_POST["last"]) ?>"><br>
<input type="Submit" name="submit" value="输入信息">
</form>
<?php
} // if结束
?>
</body>
</html>
dalin
发表于 2004-6-7 14:02:13
很显然,如果你的error不是从表单上提交上来的,根本就不能用echo isset($_POST["error"]); 这样莫名其妙的语句,就算是从表单上传来的,也不能这么用。
这里是直接用$error就行了,也即:
$_POST["error"]= "对不起,您必须填写所有的栏目!";
改成
$error= "对不起,您必须填写所有的栏目!";
echo isset($_POST["error"]);
改成
echo $error;
nowind
发表于 2004-6-7 15:05:26
很显然,如果你的error不是从表单上提交上来的,根本就不能用echo isset($_POST["error"]); 这样莫名其妙的语句,就算是从表单上传来的,也不能这么用。
这里是直接用$error就行了,也即:
$_POST["error"]= "对不起,您必须填写所有的栏目!";
改成
$error= "对不起,您必须填写所有的栏目!";
echo isset($_POST["error"]);
改成
echo $error;
现在我源代码改成以下:
<html>
<body>
<?php
if(isset($_POST["submit"])) {
if (!isset($_POST["first"])|| !isset($_POST["last"]) ) {
$error= "对不起,您必须填写所有的栏目!";
} else {
// 处理表格输入内容
echo "谢谢!";
}
}
if (!isset($_POST["submit"]) || $error) {
echo $error;
?>
<P>
<form method="post" action="<?php echo $PHP_SELF ?>">
第一栏: <input type="text" name="last" value="<?php echo isset($_POST["first"]) ?>"><br>
第二栏: <input type="text" name="first" value="<?php echo isset($_POST["last"]) ?>"><br>
<input type="Submit" name="submit" value="输入信息">
</form>
<?php
} // if结束
?>
</body>
</html>
运行php源码,出现Notice: Undefined variable: error in d:\usr\www\html\1.php on line 13
无论输入不输入内容,点“输入信息”仍然只显示“谢谢!”
不解,不解!!!!!!
Mandrake
发表于 2004-6-7 17:51:03
很显然,如果你的error不是从表单上提交上来的,根本就不能用echo isset($_POST["error"]); 这样莫名其妙的语句,就算是从表单上传来的,也不能这么用。
这里是直接用$error就行了,也即:
$_POST["error"]= "对不起,您必须填写所有的栏目!";
改成
$error= "对不起,您必须填写所有的栏目!";
echo isset($_POST["error"]);
改成
echo $error;
现在我源代码改成以下:
<html>
<body>
<?php
if(isset($_POST["submit"])) {
if (!isset($_POST["first"])|| !isset($_POST["last"]) ) {
$error= "对不起,您必须填写所有的栏目!";
} else {
// 处理表格输入内容
echo "谢谢!";
}
}
if (!isset($_POST["submit"]) || $error) {
echo $error;
?>
<P>
<form method="post" action="<?php echo $PHP_SELF ?>">
第一栏: <input type="text" name="last" value="<?php echo isset($_POST["first"]) ?>"><br>
第二栏: <input type="text" name="first" value="<?php echo isset($_POST["last"]) ?>"><br>
<input type="Submit" name="submit" value="输入信息">
</form>
<?php
} // if结束
?>
</body>
</html>
运行php源码,出现Notice: Undefined variable: error in d:\usr\www\html\1.php on line 13
无论输入不输入内容,点“输入信息”仍然只显示“谢谢!”
不解,不解!!!!!!那你先在最前面定义$error啊。
比如在<?php后面加上一句 $error="";
jiangtao9999
发表于 2004-6-7 18:29:04
if (!isset($_POST["first"]) || !isset($_POST["last"]) ) {
当然正常了,因为这个变量确实已经设置,只不过它的内容为空而已。
既然你需要让他必须输入东西,你就应该这样写:
if ( $_POST["first"] != ""|| $_POST["last"] != "" ) {
nowind
发表于 2004-6-7 23:28:38
好,谢谢各位
nowind
发表于 2004-6-8 08:16:47
if (!isset($_POST["first"]) || !isset($_POST["last"]) ) {
当然正常了,因为这个变量确实已经设置,只不过它的内容为空而已。
既然你需要让他必须输入东西,你就应该这样写:
if ( $_POST["first"] != ""|| $_POST["last"] != "" ) {
改了以后成了这种结果“输入了内容,显示‘对不起’,没有输入却显示‘谢谢’反了
我觉得这句有点问题,if ( $_POST["first"] != ""|| $_POST["last"] != "" ) {
$error= "对不起,您必须填写所有的栏目!";
它的意思是如果first不为空或者last不为空,就显示“对不起,您必须填写所有的栏目!"; 这和本意相反,于是我改为
if ( $_POST["first"] = ""|| $_POST["last"] = "" ) {
$error= "对不起,您必须填写所有的栏目!";
结果是无论输入不输入,都显示“谢谢”
nowind
发表于 2004-6-8 08:21:28
其实这个问题昨天我已经解决了,就是把
if ( $_POST["first"] != "" || $_POST["last"] != "" ) {
$error= "对不起,您必须填写所有的栏目!";
改为:
if ( !$first || !$last ) {
$error= "对不起,您必须填写所有的栏目!"; 之后一切正常。现在所有源码如下:
<html>
<body>
<?php
$error= "";
if(isset($_POST["submit"])) {
if ( !$first || !$last ) {
$error= "对不起,您必须填写所有的栏目!";
} else {
// 处理表格输入内容
echo "谢谢!";
}
}
if (!isset($_POST["submit"]) || $error) {
echo $error;
?>
<P>
<form method="post" action="<?php echo $PHP_SELF ?>">
第一栏: <input type="text" name="last" value="<?php echo isset($_POST["first"]) ?>"><br>
第二栏: <input type="text" name="first" value="<?php echo isset($_POST["last"]) ?>"><br>
<input type="Submit" name="submit" value="输入信息">
</form>
<?php
} // if结束
?>
</body>
</html>
jiangtao9999
发表于 2004-6-8 11:36:21
if ( $_POST["first"] = "" || $_POST["last"] = "" ) {
标准的语法错误………………
你是测试他们是否相等,而现在的代码是付值…………
应该是
if ( $_POST["first"] == "" || $_POST["last"] == "" ) {
当然,你的那种也可以。
不过要注意,如果有人输入 0 ,那和变量值为空的结果是一样的。
nowind
发表于 2004-6-8 11:54:29
if ( $_POST["first"] = "" || $_POST["last"] = "" ) {
标准的语法错误………………
你是测试他们是否相等,而现在的代码是付值…………
应该是
if ( $_POST["first"] == "" || $_POST["last"] == "" ) {
当然,你的那种也可以。
不过要注意,如果有人输入 0 ,那和变量值为空的结果是一样的。
试了一下,果然高见!我那种如果输入0和空一样,但是如果输入00就不一样了,呵呵,斑竹,终于等到你们了,去看看我的其他帖子吧
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=71185&highlight=
jiangtao9999
发表于 2004-6-8 12:01:42
下课了………………
等下午吧~~~~ :oops:
nowind
发表于 2004-6-8 12:03:51
5555555,下午一定要来啊
nowind
发表于 2004-6-9 09:54:04
jiangtao9999, 我现在自己把叶面做好了,注册,登陆,交易这些代码我也写好了,数据库建立了,但是要怎么才能把他们和在一起啊?
jiangtao9999
发表于 2004-6-9 15:52:50
!?
合起来就不会了???
你可以用 include() 、require() 进行相应的调用啊……………
nowind
发表于 2004-6-9 17:03:39
正在研究中…………………………………………