每次用户点击表单中的提交按钮时,我都会尝试将新信息输入到数据库中。它工作得很好,但它只能工作一次。因此,它将在数据库中输入一行,然后如果用户再次填写表单并单击提交,则不会将任何信息输入数据库,直到我删除上一行,以便在数据库为空时它可以正常工作。这是我的代码,如果你需要更多的信息来帮助我知道我会评价你,并提前一切感谢,将其输入数据库
if($_POST['submit']){
$query = mysql_query("SELECT * FROM chanels WHERE cname = '$cname'");
$numrows = mysql_num_rows($query);
if($numrows == 1) {
echo "You Channel has already been added. Go back your <a
href='./memberpage.php'>Station Page.</a>";
}else{
if($_POST['description']){
$description = $_POST['description'];
if(strlen($description) < 250 ){
$code = $_GET['code'];
$category = $_POST['category'];
mysql_query("INSERT INTO chanels VALUES
('','$code','$cname','$category','$description',''
)");
echo "You Channel has been added. Go back your <a
href='./memberpage.php'>Station Page.</a>";
}else
echo "Your description must be less than 250 characters!";
}else
echo "You must enter a description!";
}
}
答案 0 :(得分:1)
您有条件指定,如果存在cname的记录,则不执行任何操作。我认为这可能与你的插件只执行一次有关。我不知道cname是什么,如果cname在每次提交后都不同,但如果不是,你就永远无法进入else条件。
$query = mysql_query("SELECT * FROM chanels WHERE cname = '$cname'");
$numrows = mysql_num_rows($query);
if($numrows == 1){
echo "You Channel has already been added. Go back your <a href='./memberpage.php'>Station Page.</a>";
}
答案 1 :(得分:1)
您的if else语句限制了功能。
由于行
,您可以添加一行if($numrows == 1){
添加一行后,满足if语句条件,$ numrows = 1。此时,实际向数据库添加行的else语句永远不会运行!