我在wordpress数据库中添加新表,我创建表单以在此表中插入数据,但数据不会插入表中并在我看来“哎呀!找不到该页面”。 。
所有代码在同一页面中的名称为“cv-employerignignup.php”
<?php
function addnewemployer(){
$name = $_POST["name"];
$country = $_POST["country"];
$email = $_POST["email"];
$pass = $_POST["pass"];
$confpass = $_POST["confpass"];
$cellphone = $_POST["cellphone"];
$website = $_POST["website"];
if($name !="" && $country !="" && $email !="" && $pass !="" && $confpass !="" && $cellphone !="" && $website !="" && $pass == $confpass){
$newwmployer= "INSERT INTO employer (company_name,country,email,password,phone,website) VALUES ('".$name."' , '".$country."' , '".$email."' , '".$pass."' , '".$cellphone."' , '".$website."')";
if(mysql_query($newwmployer)){
echo "<script> alert('<p> مرحبا بك في موقع سى ڨى <br> لقد سجلت بيناتك بنجاح <br>
من فضلك قم بتاكيد بريدك الالكترونى </p>'); </script>";
}
else {
echo "<script> alert('نعتذر هناك خطا من فضلك حاول التسجيل مره اخرى');</script>" ;
}
}
else{
echo "<script> alert('من فضلك املئ جميع الخانات'); </script>";
}
if(isset($_POST['addemployer']))
{
addnewemployer();
}
}
?>
<div class="col-lg-12 signup">
<div class="col-lg-6 employer">
<form action="#" method="_POST">
<input type="text" placeholder=" اسم الشركة " name="name" class="form-control input-lg">
<input type="text" placeholder=" بلد الشركة " name="country" class="form-control input-lg">
<input type="email" placeholder=" البريد الالكتروني " name="email" class="form-control input-lg">
<input type="text" placeholder="كلمة المرور " name="pass" class="form-control input-lg">
<input type="text" placeholder=" تأكيد كلمة المرور" name="confpass" class="form-control input-lg">
<input type="text" placeholder=" رقم الجوال " name="cellphone" class="form-control input-lg">
<input type="url" placeholder=" الموقع الخاص بالشركة " name="website" class="form-control input-lg">
<button type="submit" class="btn btn-warning btn-lg btn-block" name="addemployer" onclick="addnewemployer()"> تسجيل </button>
</form>
</div>
</div>
我不知道错误是什么
答案 0 :(得分:1)
运行 addnewemployer()的行位于函数 addnewemployer()中 - 您需要将其取出并将其添加到函数本身之后。
function addnewemployer(){
// your function as above
...
}
if(isset($_POST['addemployer']))
{
// notice how it actually calling it now
addnewemployer();
}
您还应该使用WordPress的原生 wp_insert_post 来实现此目的。注意:您需要在 addnewemployer 功能的顶部调用全局变量 $ post 。
表单“操作”也可以留空。
<form action="" method="POST">
答案 1 :(得分:0)
您的代码的这一部分:
if(isset($_POST['addemployer']))
{
addnewemployer();
}
负责检查数据是否从表单发布到此文件。如果是,则调用addnewemployer()
函数。
但令人惊讶的是,您已将此代码块放在函数中,因此代码的这一部分永远不会运行,并且永远不会调用addnewemployer()
函数。
您需要做的是从您的函数中提取此代码块。所以你的代码应该是这样的:
function addnewemployer(){
$name = $_POST["name"];
$country = $_POST["country"];
$email = $_POST["email"];
$pass = $_POST["pass"];
$confpass = $_POST["confpass"];
$cellphone = $_POST["cellphone"];
$website = $_POST["website"];
if($name !="" && $country !="" && $email !="" && $pass !="" && $confpass !="" && $cellphone !="" && $website !="" && $pass == $confpass){
$newwmployer= "INSERT INTO employer (company_name,country,email,password,phone,website) VALUES ('".$name."' , '".$country."' , '".$email."' , '".$pass."' , '".$cellphone."' , '".$website."')";
if(mysql_query($newwmployer)){
echo "<script> alert('<p> مرحبا بك في موقع سى ڨى <br> لقد سجلت بيناتك بنجاح <br>
من فضلك قم بتاكيد بريدك الالكترونى </p>'); </script>";
}
else {
echo "<script> alert('نعتذر هناك خطا من فضلك حاول التسجيل مره اخرى');</script>" ;
}
}
else{
echo "<script> alert('من فضلك املئ جميع الخانات'); </script>";
}
}
if(isset($_POST['addemployer'])){
addnewemployer();
}
您的代码的另一个问题是您选择了wordpress
标记,并且还提到您已在wordpress
中添加了此表,但您没有使用任何wordpress功能!
但您的代码的另一个问题是使用了mysql
,这是不推荐使用的。您强烈建议使用mysqli
或pdo
,然后使用parameter binding
和prepared statement
来阻止sql injection