2011-12-20 83 views
-4

我想让我的PHP验证用户已经放入需要的信息。PHP邮件空白变量

我想确保这个人已经把名字和电子邮件。当我把:

if(empty($name){ 
    blah blah 
} 

它给出的错误,但它仍然处理电子邮件。当我把:

if(empty($name){ 
    blah blah 
}else{ 
    blah blah 
} 

我收到一个错误说:Parse error: syntax error, unexpected '}' in /home/dreamcpu/public_html/insert.php on line 34

这里是我的PHP:

<?php 
$con = mysql_connect("localhost","blah","blah"); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
$today = date("F j, Y, g:i a"); 
mysql_select_db("dreamcpu_contact_info", $con); 
$sql="INSERT INTO contact_us (name, email,phone_number,job_request,DateRequested) 
VALUES 
('$_POST[name]','$_POST[email]','$_POST[phone_number]','$_POST[job_requested]','$today')"; 

if (!mysql_query($sql,$con)) 
{ 
die('Error: ' . mysql_error(). "Actual query: " . $sql); 
} 
$name = $_POST['name']; 
$email = $_POST['email']; 
$phone = $_POST['phone_number']; 
$job = $_POST['job_requested']; 
if (empty($name)){ 
echo "The name field was blank. Please go back and fill in the required fields"; 
} 
else 
{ 
$to = "[email protected]"; 
$subject = "A job have been requested"; 
$message = "On " . $today . " a job has been requested from " . $name . " please email them at " . $email . " or call them at " . $phone; 
$headers = "From:" . $email; 
mail($to, $subject, $message,$headers); 
echo "<h3 style='display:block;'>Thank you for contacting DreamCPU. We have received your request $_POST[name]. We will review it and contact you as soon as possible.</h3>"; 
mysql_close($con) 
} 
?> 
+1

非常基本的PHP运行时错误。我建议使用带有行号的编辑器和关于基本语法的php手册。 – tuergeist 2011-12-20 21:42:46

+0

事情没有了;当我正在处理sql连接 – 2011-12-21 19:09:52

+0

为什么这个问题downvoted? – 2011-12-21 19:21:55

回答

4

你忘了一个分号:

mysql_close($con); 
-----------------^ 

您的字符串内的变量也不应依靠常量:

echo " ... request $_POST['name']. We will ..."; 
--------------------------^----^ 

也忘了这条线上的右括号:

if(empty($name)){ 
---------------^ 
    blah blah 
} 
+0

你的字符串中的变量也不应该依赖于常量: 'echo“... request $ _POST ['name']。我们会......” ; --------------------------^---- ^' 不看我在哪里写的,我不想要来自变量的信息也许我不明白你的意思 – 2011-12-20 21:07:35

+0

Jose Ortiz:当PHP对'$ _POST [name]进行查找时,它首先检查是否已经定义了常量'name',以便它可以使用它的价值作为关键。然而,由于它不存在,它会回退并使用'name'的字符串值(简称'“name”')。如果它是一个字符串而不是一个常量,那么省略'name'周围的引号是不好的做法。 – 2011-12-20 21:09:58

+0

好吧,我看到它在哪里谢谢你的帮助 – 2011-12-21 19:16:10

2

使用分号。

mysql_close($con); 
+1

nooooo hehehhehehhee darn you分号 – 2011-12-20 21:01:51