簡體   English   中英

表單停止提交到數據庫

[英]Form stopped submitting into database

好吧,它以前工作過。...現在突然停止了。 我不確定為什么。 我添加的唯一內容是刪除功能。此后它不再提交。 我可以通過= D刪除條目

表單的php代碼

 <?php

if (isset($_POST['submit'])){   

$con = mysql_connect("localhost", "", "");
if (!$con){
die("Cannot connect:" . mysql_error()); 
}

$Firstname = $_POST['Firstname'];
$Email = $_POST['Email'];
$Prayer = $_POST['Prayer'];



//if there is no input these messages will come up//    
if($Firstname==''){
echo "<script>alert('Please enter your name!')</script>";
exit();
}
if($Email==''){
echo "<script>alert('Please enter your email!')</script>";
exit(); 
}
if($Prayer==''){
echo "<script>alert('Please enter your prayer request!')</script>";
exit(); 
}


mysql_select_db("dxh6110",$con);

//if everything is good, information will be submitted to database
$sql = "INSERT INTO ChurchPrayer (Firstname, Email, Prayer) VALUES('$_POST[Firstname]','$_POST[Email]','$_POST[Prayer]')";



if(mysql_query($sql,$con)){

echo "<script>alert('Congratulations, You have successfully submitted your prayer requests. You will hear from us very soon!')</script>";


}

mysql_close($con);
}

?>

哦,我知道我應該使用准備好的語句來防止SQL注入...但是我不確定它到底是什么還是它的外觀。 當我進一步進入學校項目時,我一定會在以后添加它們。 目前擔心該功能。

不知道還需要添加什么...我將添加我的delete.php

<?php session_start(); //starting the session?>
<?php
//connecting to database
$con = mysql_connect("localhost","","","dxh6110");

//defining variable
$delete_id = $_GET['del'];
//command to remove input from SQL DB
$query = "delete from ChurchPrayer where id='$delete_id'";

if(mysql_query($con,$query)){

echo "<script>window.open('view_prayers.php?deleted=User has been deleted!','_self')</script>";

}



?>

我的管理員登錄有效,當管理員登錄時,將他們帶到一個頁面,該頁面將允許他們查看條目並刪除對數據庫所做的條目。 當前有兩個,但是當我嘗試添加更多請求時...。它們不會進入數據庫。 單擊提交時沒有錯誤。

首先, ("localhost","xxx","xxx","xxx")並沒有您的想法。

mysql_connect()需要3個參數,而不是4個參數。第四個用於其他參數。 四個參數是與mysqli_connect()一起使用的參數,但是這些不同的MySQL API不會相互混合,因此,如果要使用mysql_函數,請不要使用該連接方法。

請教:

與您在其他問題中所做的一樣:

$con = mysql_connect("localhost", "xxx", "xxx");
if (!$con){
die("Cannot connect:" . mysql_error()); 
}

mysql_select_db("your_db",$con);

然后這個if(mysql_query($con,$query)){連接到第二位。

另外, $_GET['del'] ?deleted=User $_GET['del']?deleted=User檢查。 這是對我而言突出的兩件事。

如果您的刪除鏈接為?deleted=XXX ,則需要為?del=XXX XXX為例。

$_GET['del']需要與您方法中?parameter中的參數匹配。

即:如果view_prayers.php是您用來刪除文件的文件, view_prayers.php?del=XXX


另外,如評論中所述,此方法是不安全的。

最好將mysqli與預處理語句一起使用,或者將PDO與預處理語句一起使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM