我正在创建一个简单要求的用户注册表单,并使用简单查询插入数据
<?php
if (isset($_POST) && isset($_POST["form_register"]))
{
$insert_query = "INSERT INTO users SET
users.first_name='" . mysql_real_escape_string($_POST['fname']) . "',
users.last_name='" . mysql_real_escape_string($_POST['lname']) . "',
users.email='" . mysql_real_escape_string($_POST['email']) . "',
users.password='" . mysql_real_escape_string($_POST['password']) . "';";
if (mysql_query($insert_query))
{
$_SESSION['messageType'] = "success_msg";
}
else
{
$_SESSION['message'] = "-Registration not Successful.";
$_SESSION['messageType'] = "error_msg";
}
}
?>
但是现在我有3个额外的字段。如果我选中一个复选框,那么另外两个字段数据也会进入另一个表中并同时拥有此数据。我怎么能这样做?
这是我的旧代码......现在我添加了3个新列,1个复选框和2个文本框。
查询是,如果选中复选框,则其他2个列值将进入另一个表,如果未选中复选框,则执行1个查询。
答案 0 :(得分:0)
我们确实需要查看您的表单,因为您提供给我们的内容过于模糊,另外,请检查$insert_query
的结束语法。
如果我理解了正确的问题,那么最终的代码应该是这样的。
告诉我,如果我错了
<?php
if(isset($_POST) && isset ($_POST["form_register"])){
$insert_query1 = "INSERT INTO users SET
first_name='".mysql_real_escape_string($_POST['fname'])."',
last_name='".mysql_real_escape_string($_POST['lname'])."',
email='".mysql_real_escape_string($_POST['email'])."',
password='".mysql_real_escape_string($_POST['password'])."'";
if(mysql_query($insert_query)){
$_SESSION['messageType'] = "success_msg";
} else {
$_SESSION['message'] = "-Registration not Successful.";
$_SESSION['messageType'] = "error_msg";
}
if($_POST['checkbox']) {
$insert_query2 = ""; //Put your second MYSQL Query here
}
if(mysql_query($insert_query2)){
$_SESSION['messageType2'] = "success_msg";
} else {
$_SESSION['message2'] = "-Registration not Successful.";
$_SESSION['messageType2'] = "error_msg";
}
}
?>
答案 1 :(得分:0)
如果我理解正确,你想在另一个表中插入数据IF用户选中复选框。
所以你必须使用这样的另一个IF:
if (mysql_query($insert_query))
{
if (/* here your condition for checkbox*/)
{
/* here your query for the secund table and the new two values*/
}
$_SESSION['messageType'] = "success_msg";
}
请注意,在第一个 成功之后运行secund查询非常重要,因为如果第一个因某种原因失败,secund将不会执行。< / p>