PHP如果(isset($\U POST…)条件失败
PHP问题在这里,我已经做了一个登录/注销类代码,带有一个PHP如果(isset($\U POST…)条件失败,php,forms,post,login,isset,Php,Forms,Post,Login,Isset,PHP问题在这里,我已经做了一个登录/注销类代码,带有一个insert和delete函数,它支持login和logout 所以问题是,在我插入文本后,我无法删除它,因为删除按钮就像一个简单的 波顿回头,不做他的工作,什么都没有 在if(isset($\u POST['delete'])中,条件似乎起作用 问题可能是我使用了两个无效动作 指的是同一页吗?按下第一个按钮 工作和第二个不是 任何人都能理解为什么 您的代码存在逻辑问题。单击“删除”按钮时,脚本将再次运行。您的第一个条件-if(!is
insert
和delete
函数,它支持login
和logout
所以问题是,在我插入文本后,我无法删除它,因为删除按钮就像一个简单的
波顿回头,不做他的工作,什么都没有
在if(isset($\u POST['delete'])中,
条件似乎起作用
问题可能是我使用了两个无效动作
指的是同一页吗?按下第一个按钮
工作和第二个不是
任何人都能理解为什么
您的代码存在逻辑问题。单击“删除”按钮时,脚本将再次运行。您的第一个条件-if(!isset($\u POST['send'])
现在将通过,因为不再设置send按钮,因此它进入if语句,并且从不运行删除代码
您的脚本似乎也容易受到SQL注入的攻击。代码存在逻辑问题。单击“删除”按钮时,脚本将再次运行。您的第一个条件-if(!isset($\u POST['send'])
现在将通过,因为不再设置send按钮,因此它进入if语句,并且从不运行删除代码
您的脚本似乎也容易受到SQL注入的攻击。以下是正确的方法,这是一个快速提示,您需要在mysql插入安全性等方面多做一些工作
<html>
<header>
<body>
<?php
$conn= mysql_connect('localhost','root','');
mysql_select_db('db_try',$conn ) or die(mysql_error());
if(isset($_POST['send'])){
$text = $_REQUEST['text'];
mysql_query(" INSERT INTO test (value) VALUES ('$text') ") or die(mysql_error());
$answer = "Operation complete";
$form = "<form name='delete' action='' method='POST'>
<input type='submit' name='delete' value='delete' />
</form>";
}
else if(isset($_POST['delete'])){
mysql_query(" DELETE FROM test WHERE value='$text' ") or die(mysql_error());
$answer = "Text'".$text."' deleted";
}
else {
$form = "<form name='send' action='' method='POST'>
<input type='text' name='text' value=''/>
<input type='submit' name='send' value='send' />
</form>";
}
print "<h1>" . $answer . "</h1>";
print $form;
?>
</body>
</header>
</html>
下面是正确的方法,这是一个快速提示,您需要在mysql插入安全性等方面多做一些工作
<html>
<header>
<body>
<?php
$conn= mysql_connect('localhost','root','');
mysql_select_db('db_try',$conn ) or die(mysql_error());
if(isset($_POST['send'])){
$text = $_REQUEST['text'];
mysql_query(" INSERT INTO test (value) VALUES ('$text') ") or die(mysql_error());
$answer = "Operation complete";
$form = "<form name='delete' action='' method='POST'>
<input type='submit' name='delete' value='delete' />
</form>";
}
else if(isset($_POST['delete'])){
mysql_query(" DELETE FROM test WHERE value='$text' ") or die(mysql_error());
$answer = "Text'".$text."' deleted";
}
else {
$form = "<form name='send' action='' method='POST'>
<input type='text' name='text' value=''/>
<input type='submit' name='send' value='send' />
</form>";
}
print "<h1>" . $answer . "</h1>";
print $form;
?>
</body>
</header>
</html>
我想它也可能有用
if (!isset($_POST['submit']) || isa($_POST['submit'] != 'login'))
我想它也可能有用
if (!isset($_POST['submit']) || isa($_POST['submit'] != 'login'))
你在哪里定义$text
?@Paul我想他在使用register globals你
块中的
样式语法给了我一个语法错误。你在哪里定义$text
?@Paul我想他在使用register globals你
块中的
样式语法给了我一个语法错误。它应在此处触发delete
if(isset($\u POST['delete'])){
它永远不会到达那个点,因为它不会进入那个else。他说的是,因为你在第一条语句的else中有那个语句,它将永远不会运行,因为delete表单不再发送'send'变量。将delete语句放在第一条语句的上方,这样当delete语句运行时,delete就不会运行了如果(isset($\u POST['delete']),则应触发此处的delete
if(isset($\u POST['delete'])){
它永远不会到达那个点,因为它不会进入那个else。他说的是,因为你在第一条语句的else中有那个语句,它将永远不会运行,因为delete表单不再发送'send'变量。将delete语句放在第一条语句的上方,这样当delete语句运行时,delete就不会运行了我必须承认,在一天之内,我对代码做了很多修改,现在它可以正常工作了,但是我从你的代码中了解到了一些好的东西,再次是tanks:DMany tanks:D我必须承认,在一天之内,我对代码做了很多修改,现在它可以正常工作了,但我明白了一些好的东西从你的代码中,再次输入:D