找回密码
 注册
楼主: 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>
回复

使用道具 举报

发表于 2004-6-7 14:02:13 | 显示全部楼层
很显然,如果你的error不是从表单上提交上来的,根本就不能用echo isset($_POST["error"]); 这样莫名其妙的语句,就算是从表单上传来的,也不能这么用。

这里是直接用$error就行了,也即:
$_POST["error"]= "对不起,您必须填写所有的栏目!";
改成
$error= "对不起,您必须填写所有的栏目!";

echo isset($_POST["error"]);
改成
echo $error;
回复

使用道具 举报

 楼主| 发表于 2004-6-7 15:05:26 | 显示全部楼层
[quote:e343dfc466="dalin"]很显然,如果你的error不是从表单上提交上来的,根本就不能用echo isset($_POST["error"]); 这样莫名其妙的语句,就算是从表单上传来的,也不能这么用。

这里是直接用$error就行了,也即:
$_POST["error"]= "对不起,您必须填写所有的栏目!";
改成
$error= "对不起,您必须填写所有的栏目!";

echo isset($_POST["error"]);
改成
echo $error;[/quote]

现在我源代码改成以下:
<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
无论输入不输入内容,点“输入信息”仍然只显示“谢谢!”


不解,不解!!!!!!
回复

使用道具 举报

发表于 2004-6-7 17:51:03 | 显示全部楼层
[quote:4344edb3f5="nowind"][quote:4344edb3f5="dalin"]很显然,如果你的error不是从表单上提交上来的,根本就不能用echo isset($_POST["error"]); 这样莫名其妙的语句,就算是从表单上传来的,也不能这么用。

这里是直接用$error就行了,也即:
$_POST["error"]= "对不起,您必须填写所有的栏目!";
改成
$error= "对不起,您必须填写所有的栏目!";

echo isset($_POST["error"]);
改成
echo $error;[/quote]

现在我源代码改成以下:
<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
无论输入不输入内容,点“输入信息”仍然只显示“谢谢!”


不解,不解!!!!!![/quote]那你先在最前面定义$error啊。
比如在<?php后面加上一句 $error="";
回复

使用道具 举报

发表于 2004-6-7 18:29:04 | 显示全部楼层
if (!isset($_POST["first"]) || !isset($_POST["last"]) ) {

当然正常了,因为这个变量确实已经设置,只不过它的内容为空而已。

既然你需要让他必须输入东西,你就应该这样写:
[code:1]
if ( $_POST["first"] != ""  || $_POST["last"] != "" ) {
[/code:1]
回复

使用道具 举报

 楼主| 发表于 2004-6-7 23:28:38 | 显示全部楼层
好,谢谢各位
回复

使用道具 举报

 楼主| 发表于 2004-6-8 08:16:47 | 显示全部楼层
[quote:a730ca2792="jiangtao9999"]
if (!isset($_POST["first"]) || !isset($_POST["last"]) ) {

当然正常了,因为这个变量确实已经设置,只不过它的内容为空而已。

既然你需要让他必须输入东西,你就应该这样写:
[code:1]
if ( $_POST["first"] != ""  || $_POST["last"] != "" ) {
[/code:1][/quote]


改了以后成了这种结果“输入了内容,显示‘对不起’,没有输入却显示‘谢谢’反了

我觉得这句有点问题,if ( $_POST["first"] != ""  || $_POST["last"] != "" ) {
$error= "对不起,您必须填写所有的栏目!";
它的意思是如果first不为空或者last不为空,就显示“对不起,您必须填写所有的栏目!"; 这和本意相反,于是我改为
if ( $_POST["first"] = ""  || $_POST["last"] = "" ) {
$error= "对不起,您必须填写所有的栏目!";

结果是无论输入不输入,都显示“谢谢”
回复

使用道具 举报

 楼主| 发表于 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>
回复

使用道具 举报

发表于 2004-6-8 11:36:21 | 显示全部楼层
if ( $_POST["first"] = "" || $_POST["last"] = "" ) {


标准的语法错误………………

你是测试他们是否相等,而现在的代码是付值…………

应该是

if ( $_POST["first"] == "" || $_POST["last"] == "" ) {

当然,你的那种也可以。
不过要注意,如果有人输入 0 ,那和变量值为空的结果是一样的。
回复

使用道具 举报

 楼主| 发表于 2004-6-8 11:54:29 | 显示全部楼层
[quote:6e6fde9a05="jiangtao9999"]
if ( $_POST["first"] = "" || $_POST["last"] = "" ) {


标准的语法错误………………

你是测试他们是否相等,而现在的代码是付值…………

应该是

if ( $_POST["first"] == "" || $_POST["last"] == "" ) {

当然,你的那种也可以。
不过要注意,如果有人输入 0 ,那和变量值为空的结果是一样的。[/quote]


试了一下,果然高见!我那种如果输入0和空一样,但是如果输入00就不一样了,呵呵,斑竹,终于等到你们了,去看看我的其他帖子吧
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=71185&highlight=
回复

使用道具 举报

发表于 2004-6-8 12:01:42 | 显示全部楼层
下课了………………

等下午吧~~~~
回复

使用道具 举报

 楼主| 发表于 2004-6-8 12:03:51 | 显示全部楼层
5555555,下午一定要来啊
回复

使用道具 举报

 楼主| 发表于 2004-6-9 09:54:04 | 显示全部楼层
jiangtao9999,   我现在自己把叶面做好了,注册,登陆,交易这些代码我也写好了,数据库建立了,但是要怎么才能把他们和在一起啊?
回复

使用道具 举报

发表于 2004-6-9 15:52:50 | 显示全部楼层
!?
合起来就不会了???

你可以用 include() 、require() 进行相应的调用啊……………
回复

使用道具 举报

 楼主| 发表于 2004-6-9 17:03:39 | 显示全部楼层
正在研究中…………………………………………
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-1-10 15:51 , Processed in 0.106857 second(s), 12 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表