PHP初学者在这里&我想问一个关于使用表单将信息上传到数据库的问题.
我有一个包含48个不同类别的网站. www.ralphslocal.com.如果您访问该站点,您将看到每个类别我从数据库中的不同表中提取信息.
我有一个包含48个不同类别的网站. www.ralphslocal.com.如果您访问该站点,您将看到每个类别我从数据库中的不同表中提取信息.
用于填充表格的表单缺少一种选择我要上传到的表格的方法.此时,当我想上传到另一个表时,我需要更改“insert.PHP”中的表名
我需要在表单上选择要上传到的表格吗?
如果我不清楚我道歉.我感谢您提供的任何帮助.
这是我的表单的代码:
<form action="insert.PHP" method="POST"> <p>Retailer:    <input type="text" name="retailer"></p> <p>WebSite:   <input type="text" name="website"></p> <p>City:         <select name="city"> <option value="BellaVista">BellaVista</option> <option value="Bentonville">Bentonville</option> <option value="Centerton">Centerton</option> <option value="Farmington">Farmington</option> <option value="Fayetteville">Fayetteville</option> <option value="Lowell">Lowell</option> <option value="Rogers">Rogers</option> <option value="SpringDale">SpringDale</option> <option value="Tontitown">Tontitown</option> <option value="West Fork">West Fork</option> </select></p> <p>Phone:      <input type="text" name="phone"></p> <input type="submit"> </form>
<?PHP require 'connect.PHP'; ?> <?PHP $sql="INSERT INTO garden_nursery (Retailer,WebSite,City,Phone) VALUES ('$_POST[retailer]','$_POST[website]','$_POST[city]','$_POST[phone]')"; if (!MysqLi_query($con,$sql)) { die('Error: ' . MysqLi_error($con)); }{ echo "1 record added"; } MysqLi_close($con); ?>
非常感谢!
拉尔夫
解决方法
你的问题的答案很简单.将其添加到您的表单:
<select name='data_table'> <option value='appliances'> Appliances </option> <option value='garden_nursery'> Garden Nursery </option> <option value='table_name_formated'> Table Name </option> <!-- and so on for all of youre tables --> </select>
$sql="INSERT INTO $_POST[data_table] (Retailer,Phone) VALUES ('$_POST[retailer]','$_POST[phone]')";
补充说明:
访问您的网站后,如果我能正确看到它,您制作了38个不同的表,具有相同的数据结构.为什么不在一个名为table的alldata(或类似的东西)中再添加一列,它存储相应的类别?这样,以后添加新类别时,无需始终创建新表.
附加说明2:
在尝试将其存储在数据库中之前,逃避用户提供的输入也会更安全,就像tadman所说的那样.将此添加到您的insert.PHP文件中,在您为$sql赋值的位置.
$datatable=MysqLi_real_escape_string($con,$_POST['data_table']); $retailer=MysqLi_real_escape_string($con,$_POST['retailer']); $website=MysqLi_real_escape_string($con,$_POST['website']); $city=MysqLi_real_escape_string($con,$_POST['city']); $phone=MysqLi_real_escape_string($con,$_POST['phone']); $sql="INSERT INTO $datatable (Retailer,Phone) VALUES ('$retailer','$website','$city','$phone')";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。