필드가 입력되지 않은 경우 오류를 표시하는 간단한 양식을 만들고 싶습니다. 나는 그것을하는 방법을 모른다. 여기에 내 코드입니다 : PHP 코드 :PHP SQL 폼 유효성 확인
<?php
//include the connection file
require_once('connection.php');
//save the data on the DB and send the email
if(isset($_POST['action']) && $_POST['action'] == 'submitform')
{
//recieve the variables
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$ip = gethostbyname($_SERVER['REMOTE_ADDR']);
//save the data on the DB
mysql_select_db($database_connection, $connection);
$insert_query = sprintf("INSERT INTO feedback (name, email, message, date, ip) VALUES (%s, %s, %s, NOW(), %s)",
sanitize($name, "text"),
sanitize($email, "text"),
sanitize($message, "text"),
sanitize($ip, "text"));
$result = mysql_query($insert_query, $connection) or die(mysql_error());
if($result)
{
//send the email
$to = "[email protected]";
$subject = "New message from the website";
//headers and subject
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$name." <".$email.">\r\n";
$body = "New contact<br />";
$body .= "Name: ".$name."<br />";
$body .= "Email: ".$email."<br />";
$body .= "Message: ".$message."<br />";
$body .= "IP: ".$ip."<br />";
mail($to, $subject, $body, $headers);
//ok message
echo "Your message has been sent";
}
}
function sanitize($value, $type)
{
$value = (!get_magic_quotes_gpc()) ? addslashes($value) : $value;
switch ($type) {
case "text":
$value = ($value != "") ? "'" . $value . "'" : "NULL";
break;
case "long":
case "int":
$value = ($value != "") ? intval($value) : "NULL";
break;
case "double":
$value = ($value != "") ? "'" . doubleval($value) . "'" : "NULL";
break;
case "date":
$value = ($value != "") ? "'" . $value . "'" : "NULL";
break;
}
return $value;
}
?>
<form id="ContactForm" method="post" action="mail.php">
<div class="wrapper"><input class="input" name="name" id="name" type="text" value="Name:" onBlur="if(this.value=='') this.value='Name:'" onFocus="if(this.value =='Name:') this.value=''" ></div>
<div class="wrapper"><input class="input" name="email" id="email" type="text" value="E-mail:" onBlur="if(this.value=='') this.value='E-mail:'" onFocus="if(this.value =='E-mail:') this.value=''" ></div>
<div class="textarea_box"><textarea cols="1" rows="1" onBlur="if(this.value=='') this.value='Message:'" onFocus="if(this.value =='Message:') this.value=''" >Message:</textarea></div>
<input type="hidden" id="action" name="action" value="submitform" />
<input type="submit" class="button" id="submit" name="submit" value="Submit" /> <input type="reset" class="button" id="reset" name="reset" value="Reset" />
</form>
서버 측에서 PHP를 사용하여 폼의 유효성을 검사 할 수 있지만 폼이 제출되기 전에 javascript/jQuery를 사용하여 폼 입력이 유효한지 확인한 다음 PHP로 서버 측을 확인하는 것이 좋습니다. JQuery 폼 유효성 검사 플러그인이 많아서 간단하고 쉽게 할 수 있습니다. – martincarlin87
@ martincarlin87 글쎄, 나는 수표 서버 쪽을 선호한다. 모든 클라이언트가 javascript를 사용할 수있는 것은 아니기 때문에 ... –
네,하지만 제가 말했듯이, 당신은 모두 할 수 있습니다. – martincarlin87