我是PHP的新手。我的isset功能不起作用。它没有显示错误。它总是插入表格。我已经给了我的代码。请在此建议我做错了什么
<?php
if(isset($_POST['submit'])) {
$a= $_POST['companyname'];
$b= $_POST['ballpark_url'];
$c= $_POST['username'];
$d= $_POST['email'];
$e= $_POST['login1'];
$f= $_POST['pass'];
$error = false;
if(validname($a) ==false) {
echo $nameerror = "enter the valid name";
}
if(validemail($d) ==false) {
echo $nameerror = "enter the valid email";
}
if(isset($_POST['companyname'])) {
if($error==false) {
$query= "INSERT INTO user VALUES ('$a','$b','$c','$d','$e','$f','');";
if(!mysql_query($query)) {
die ('error:'.mysql_error());
}
mysql_close($conn);
}
include("templats/header_1.html");
include("templats/content.html");
include("templats/footer.html");
}
?>
请在我的代码中纠正这个问题并发回给我......
答案 0 :(得分:2)
继Garvey之后,如果它不存在,那么检查你的HTML,你已经设置了一个名为submit的提交按钮......(感谢shef说发布它;)
答案 1 :(得分:2)
他没有将$error
变量设置为true,因此它总是插入。
$error = false;
if(validname($a) ==false) {
echo $nameerror = "enter the valid name";
}
if(validemail($d) ==false) {
echo $nameerror = "enter the valid email";
}
这就是它需要做的事情
$error = false;
if(validname($a) ==false) {
echo $nameerror = "enter the valid name";
$error = true;
}
if(validemail($d) ==false) {
echo $nameerror = "enter the valid email";
$error = true;
}
答案 2 :(得分:1)
使用!empty($a)
代替isset($_POST['companyname'])
。
然而,您的页面将无法显示。为什么不:
<?php
if(isset($_POST['submit'])) {
$company_name = $_POST['companyname'];
$ballpark_url = $_POST['ballpark_url'];
$username = $_POST['username'];
$email = $_POST['email'];
$login1 = $_POST['login1'];
$pass = $_POST['pass'];
$error = false;
if( !validname( $company_name ) ) {
echo "enter the valid name";
$error = true;
}
if( !validemail( $email ) ) {
echo "enter the valid email";
$error = true;
}
if( empty($_POST['companyname']) ) {
echo "enter a company name";
$error = true;
}
if( !$error ) {
$query= "INSERT INTO user VALUES ('$company_name',
'$ballpark_url',
'$username',
'$email',
'$login1',
'$pass','');";
if(!mysql_query($query)) {
die ( 'error:' . mysql_error() );
mysql_close( $conn );
}
include("templats/header_1.html");
include("templats/content.html");
include("templats/footer.html");
}
?>
答案 3 :(得分:1)
检查表单中是否有一行
<input type="submit" name="submit" value="submitOrSomething">
您的isset会检查名称值对是否存在“key”键。因此,如果你有一个提交按钮,但它有一个不同于提交的名称,那么你必须使用isset。