繁体   English   中英

使用POST将数据插入数据库

[英]Using POST to insert data into a database

我需要编写代码以将联系人添加到数据库。 当我运行addcontact.html表单时,会将新行添加到数据库中,但是唯一包含任何数据的字段是自动编号字段。 其余为空白。 我知道我的代码中肯定有一个错误,但是我似乎找不到它在哪里。

这是我的insert.php

<?php
$con=mysqli_connect("localhost","root","","mycontacts");

if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$name = mysqli_real_escape_string($con, $_POST['name']);
$address = mysqli_real_escape_string($con, $_POST['address']);
$city = mysqli_real_escape_string($con, $_POST['city']);
$state = mysqli_real_escape_string($con, $_POST['state']);
$zip = mysqli_real_escape_string($con, $_POST['zip']);
$phone = mysqli_real_escape_string($con, $_POST['phone'])

$sql="INSERT INTO Contacts (contac_id, contact_name, contact_address, contact_city,          
contact_state, contact_zip_code, contact_phones, contact_website)
        VALUES ('', '$name',  '$address',  '$city',  '$state',  '$zip',     
'$phone',  '')";

if (!mysqli_query($con,$sql)) {
  die('Error: ' . mysqli_error($con));
}
header('Location:mainmenu.php');
            session_start();
            $_SESSION['loggedIn'] = true;

mysqli_close($con);


?>

这是我在addcontact.html上的html表单的代码:

<form action="insert.php" method='post'>
            <table width="250">
                <tr>
                    <p>
                        <td align="right" valign="middle">
                            Name:
                        </td>
                        <td align="right" valign="middle">
                            <input type="text" class= "textbox" name="name" />
                        </td>
                    </p>
                </tr>
                <tr>
                    <p>
                        <td align="right" valign="middle">
                            Address:
                        </td>
                        <td align="right" valign="middle">
                            <input type="text" class= "textbox" name="address" />
                        </td>
                    </p>
                </tr>
                <tr>
                    <p>
                        <td align="right" valign="middle">
                            City:
                        </td>
                        <td align="right" valign="middle">
                            <input type="text" class= "textbox" name="city" />
                        </td>
                    </p>
                </tr>
                <tr>
                    <p>
                        <td align="right" valign="middle">
                            State:
                        </td>
                        <td align="right" valign="middle">
                            <input type="text" class= "textbox" name="state" />
                        </td>
                    </p>
                <tr>
                    <p>
                        <td align="right" valign="middle">
                            Zip:
                        </td>
                        <td align="right" valign="middle">
                            <input type="text" class= "textbox" name="zip" maxlength='10'/>
                        </td>
                    </p>
                </tr>
                <tr>
                    <p>
                        <td align="right" valign="middle">
                            Phone
                        </td>
                        <td align="right" valign="middle">
                            <input type="text" class= "textbox" name="phone" />
                        </td>
                    </p>
                </tr>
                <tr>
                    <td colspan="2">
                        <center>
                        <br>
                        <input type='submit' class= "submitbutton" value="Submit"/>

我确实回显了我的$ sql,这是我得到的错误:

( ! ) Notice: Undefined index: name in D:\wamp\www\it665\insert.php on line 7


( ! ) Notice: Undefined index: address in D:\wamp\www\it665\insert.php on line 8


( ! ) Notice: Undefined index: city in D:\wamp\www\it665\insert.php on line 9


( ! ) Notice: Undefined index: state in D:\wamp\www\it665\insert.php on line 10


( ! ) Notice: Undefined index: zip in D:\wamp\www\it665\insert.php on line 11


( ! ) Notice: Undefined index: phone in D:\wamp\www\it665\insert.php on line 12

INSERT INTO Contacts (contac_id, contact_name, contact_address, contact_city,   
contact_state, contact_zip_code, contact_phones, contact_website) VALUES ('', '', '', 
'', '', '', '', '')

因此,然后我取出了echo $ sql,并确保删除了标头代码,这样它就不会转发给我,并且错误仍然存​​在。 所以我至少要到某个地方。

Undefined index: address in D:\\wamp\\www\\it665\\insert.php on line 8 $_POST['address']表示您没有$_POST['address'] 您没有发送您认为自己的POST数据。

$_POST数组上执行var_dump ,然后查看其中的内容。

您可以尝试此操作(如果contac_id是自动中断的)

$sql="INSERT INTO Contacts (contact_name, contact_address, contact_city,          
contact_state, contact_zip_code, contact_phones, contact_website)
        VALUES ('$name',  '$address',  '$city',  '$state',  '$zip',     
'$phone',  '')";

代替

$sql="INSERT INTO Contacts (contac_id, contact_name, contact_address, contact_city,          
contact_state, contact_zip_code, contact_phones, contact_website)
        VALUES ('', '$name',  '$address',  '$city',  '$state',  '$zip',     
'$phone',  '')";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM