簡體   English   中英

PHP表單驗證並提交到數據庫

[英]PHP Form Validation and Submit to Database

我想問一下如何在一個PHP文件中設置PHP“表單驗證”和“提交數據庫”? 這就是我在第1部分和第2部分中嘗試做的。

$latErr = $lngErr = $messageErr = "";
$lat = $lng = $message = "";

$tbl_name="stickers";
$datetime=date("d-m-y H:i:s");

//PART 1 - form validation method
if ($_SERVER["REQUEST_METHOD"] == "POST") {

  if (empty($_POST["inputfield1"])) {
  $latErr = "* Latitude is required. Please enable your browser geolocation settings.";
  } else {
  $lat = test_input($_POST["inputfield1"]);
}

if (empty($_POST["inputfield2"])) {
  $lngErr = "* Longitude is required. Please enable your browser geolocation settings.";
  }else{
  $lng = test_input($_POST["inputfield2"]);
  }

if (empty($_POST["message"])) {
  $messageErr = "* Please enter your message.";
  } else {
  $message = test_input($_POST["message"]);
  }

}


//PART 2 - check if all 3 parameters are filled, if yes then insert into database
if (isset($lat, $lng, $message)){

$sql="INSERT INTO $tbl_name(username, message, datetime, lat, lng )VALUES('$user-   >username','$message', '$datetime', '$lat', '$lng')";
$result=mysql_query($sql);

//check if query successful
if($result){
$post_info = "Your msg is successfully posted!";
}else{
$post_info = "Oops, there is an error posting the msg.";
}


mysql_close();
}

function test_input($data){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}

沒用 它只是將空白插入數據庫中。 出問題了,但我不知道這是什么嗎? 任何人都可以提供建議。 謝謝。

也許您需要使用empty()而不是isset()?

//PART 1 - form validation method
if ($_SERVER["REQUEST_METHOD"] == "POST") {

  if (empty($_POST["inputfield1"])) {
  $latErr = "* Latitude is required. Please enable your browser geolocation settings.";
  } else {
  $lat = test_input($_POST["inputfield1"]);
}

if (empty($_POST["inputfield2"])) {
  $lngErr = "* Longitude is required. Please enable your browser geolocation settings.";
  }else{
  $lng = test_input($_POST["inputfield2"]);
  }

if (empty($_POST["message"])) {
  $messageErr = "* Please enter your message.";
  } else {
  $message = test_input($_POST["message"]);
  }

}


//PART 2 - check if all 3 parameters are filled, if yes then insert into database
if ( !empty($lat) && !empty($lng) && !empty($message) ){

$sql="INSERT INTO $tbl_name(username, message, datetime, lat, lng )VALUES('$user-   >username','$message', '$datetime', '$lat', '$lng')";
$result=mysql_query($sql);

//check if query successful
if($result){
$post_info = "Your msg is successfully posted!";
}else{
$post_info = "Oops, there is an error posting the msg.";
}


}
else {
$post_info = "Empty content.";
}
mysql_close();

暫無
暫無

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

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