Php 如果(isset)$\u故障后
我真的在努力解决这个问题,我已经尝试了所有我能找到的关于这个问题的youtube/google页面,似乎没有什么能解决这个问题 单击“提交”时,数据库仅收集“idContactForm”,而不收集其余名称/电子邮件/主题/消息 我已经尝试了使用ifisset$\u POST行可以找到的所有内容,但我似乎总是得到未定义的索引:$name/$email/$subject/$message上的错误 我做错了什么Php 如果(isset)$\u故障后,php,Php,我真的在努力解决这个问题,我已经尝试了所有我能找到的关于这个问题的youtube/google页面,似乎没有什么能解决这个问题 单击“提交”时,数据库仅收集“idContactForm”,而不收集其余名称/电子邮件/主题/消息 我已经尝试了使用ifisset$\u POST行可以找到的所有内容,但我似乎总是得到未定义的索引:$name/$email/$subject/$message上的错误 我做错了什么 <?php include 'config.php'; if
<?php
include 'config.php';
if (!isset($_POST['submitted'])) {
$name = trim(mysqli_escape_string($conn,$_POST['Name']));
$email = trim(mysqli_escape_string($conn,$_POST['Email']));
$subject = trim(mysqli_escape_string($conn,$_POST['Subject']));
$message = trim(mysqli_escape_string($conn,$_POST['Message']));
} else {
## connect mysql server
$mysqli = new mysqli('localhost', 'root', '******', 'tomepublications');
# check connection
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
# insert data into mysql database
$sql = "INSERT INTO `contactform` (`idContactForm`, `Name`, `Email`, `Subject`, `Message`)
VALUES (NULL, '{$name}', '{$email}', '{$subject}', '{$message}')";
if ($mysqli->query($sql)) {
//echo "New Record has id ".$mysqli->insert_id;
echo "<p>Registred successfully!</p>";
} else {
echo "<p>MySQL error no {$mysqli->errno} : {$mysqli->error}</p>";
exit();
}
}
?>
HTML
变量区分大小写。您的表单使用name=name,全部小写,但您的查找,$\u POST['name']大写N变量区分大小写。您的表单使用name=name,全小写,但您的查找,$\u POST['name']大写N如果您的if是错误的,$name、$email、$subject和$message不在else的范围内
<?php
include 'config.php';
if (isset($_POST['submitted'])) {
## connect mysql server
$mysqli = new mysqli('localhost', 'root', '******', 'tomepublications');
# check connection
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
$name = trim(mysqli_escape_string($conn,$_POST['name']));
$email = trim(mysqli_escape_string($conn,$_POST['email']));
$subject = trim(mysqli_escape_string($conn,$_POST['subject']));
$message = trim(mysqli_escape_string($conn,$_POST['message']));
# insert data into mysql database
$sql = "INSERT INTO `contactform` (`idContactForm`, `Name`, `Email`, `Subject`, `Message`)
VALUES (NULL, '{$name}', '{$email}', '{$subject}', '{$message}')";
if ($mysqli->query($sql)) {
//echo "New Record has id ".$mysqli->insert_id;
echo "<p>Registred successfully!</p>";
} else {
echo "<p>MySQL error no {$mysqli->errno} : {$mysqli->error}</p>";
exit();
}
}
?>
您的if是错误的,$name、$email、$subject和$message不在else的范围内
<?php
include 'config.php';
if (isset($_POST['submitted'])) {
## connect mysql server
$mysqli = new mysqli('localhost', 'root', '******', 'tomepublications');
# check connection
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
$name = trim(mysqli_escape_string($conn,$_POST['name']));
$email = trim(mysqli_escape_string($conn,$_POST['email']));
$subject = trim(mysqli_escape_string($conn,$_POST['subject']));
$message = trim(mysqli_escape_string($conn,$_POST['message']));
# insert data into mysql database
$sql = "INSERT INTO `contactform` (`idContactForm`, `Name`, `Email`, `Subject`, `Message`)
VALUES (NULL, '{$name}', '{$email}', '{$subject}', '{$message}')";
if ($mysqli->query($sql)) {
//echo "New Record has id ".$mysqli->insert_id;
echo "<p>Registred successfully!</p>";
} else {
echo "<p>MySQL error no {$mysqli->errno} : {$mysqli->error}</p>";
exit();
}
}
?>
在else块中构建SQL查询时,这些变量$name、$email、$subject、$message仍然没有定义。变量仅在if块中定义。当在else块中构建SQL查询时,这些变量$name、$email、$subject、$message仍然未定义。变量只在if块中定义。嗨,Dagon,Thanx对于快速回复,我现在已经将所有内容都改为小写,仍然给我相同的错误,问题的另一半由IAMFreehi Dagon回答,Thanx对于快速回复,我现在已经将所有内容改为小写,仍然给我相同的错误和IAMFreey回答的问题的另一半您必须在运行mysqli_escape_string之前连接到服务器您必须在运行mysqli_escape_string之前连接到服务器