我正在为我的教员做一个项目,某种用于订购的网络应用程序,即 UPS 来领取您想要发送的邮件。我有一个问题,当我使用提交运行订单表单时,我创建的脚本没有将数据插入到我的数据库中的表中(连接正常工作,我测试了它)。
if(isset($_POST['city']) && isset($_POST['contact']) && isset($_POST['adress']) && isset($_POST['priority']) && isset($_POST['box_size'])){
if(isset($_POST['del_name']) && isset($_POST['del_lname']) && isset($_POST['del_adress']) && isset($_POST['del_pob'])){
if($_POST['priority'] == "Ne" && $_POST['box_size'] == "1*1*1"){
$_POST['price'] = "50kn";
$sql = "INSERT INTO orders SET price='$_POST[price]', city='$_POST[city]', contact='$_POST[contact],
adress='$_POST[adress]', del_adress='$_POST[del_adress]', del_pob='$_POST[del_pob]', box_size='$_POST[box_size]',
priority='$_POST[priority]', del_name='$_POST[del_name]', del_lname='$_POST[lname]'";
$result=mysql_query($sql);
}
上面的代码说明了我的条件,检查表单中的所有字段是否都已设置。表中的所有属性均为 varchar
。
<form name="form2" method="post" action="order_script.php">
<h2>Pošiljatelj</h2>
<p><!--Ovdje ide ime $_GET od ulogiranog--></p>
<p><!--Ovdje ide $_GET prezime od ulogiranog--></p>
<p>Grad/Mjesto: <input type="text" name="city" size="25" maxlength="20" value=""/></p>
<p>Kontakt broj: <input type="text" name="contact" size="25" maxlength="20" value=""/></p>
<p>Adresa: <input type="text" name="adress" size="25" maxlength="20" value=""/></p>
<!--select for box_size-->
<p>Brzina dostave/Prioritet: <select name="priority">
<option value="">Da</option>
<option value="">Ne</option>
</select></p>
<p>Veličina kutije: <select name="box_size">
<option value="sm">1*1*1</option>
<option value="md">2*2*2</option>
<option value="lg">3*3*3</option>
<option value="xl">4*4*4</option>
</select></p>
<h2>Primatelj</h2>
<p>Ime: <input type="text" name="del_name" size="25" maxlength="20" value=""/></p>
<p>Prezime: <input type="text" name="del_lname" size="25" maxlength="20" value=""/></p>
<p>Adresa: <input type="text" name="del_adress" size="25" maxlength="20" value=""/></p>
<p>Poštanski broj: <input type="text" name="del_pob" size="25" maxlength="20" value=""/></p>
<!--Price of delivery hidden -->
<input type="hidden" name="price" size="25" maxlength="20" value=""/></p>
<p><input type="submit" name="order" value="Naruči"/></p><br></br>
</form>
因此,当我提交表单时,它只会运行脚本并显示空页面。
最佳答案
所提供的代码存在多个问题。首先,缺少一个撇号(如 lolbas 所示),并且缺少两个右括号。这是一个没有语法错误的 block :
if(isset($_POST['city']) && isset($_POST['contact']) && isset($_POST['adress']) && isset($_POST['priority']) && isset($_POST['box_size'])){
if(isset($_POST['del_name']) && isset($_POST['del_lname']) && isset($_POST['del_adress']) && isset($_POST['del_pob'])){
if($_POST['priority'] == "Ne" && $_POST['box_size'] == "1*1*1"){
$_POST['price'] = "50kn";
$sql = "INSERT INTO orders SET price='$_POST[price]', city='$_POST[city]', contact='$_POST[contact]',
adress='$_POST[adress]', del_adress='$_POST[del_adress]', del_pob='$_POST[del_pob]',
box_size='$_POST[box_size]', priority='$_POST[priority]', del_name='$_POST[del_name]', del_lname='$_POST[lname]'";
$result=mysql_query($sql);
}
}
}
此外,您正在检查 $_POST['priority'] == "Ne"是否,但您的 SELECT 选项没有设置任何值:
<select name="priority">
<option value="">Da</option>
<option value="">Ne</option>
</select>
...所以你的测试总是错误的,并且查询不会被执行。
希望这有帮助!
关于用于不将订单输入 MySql DB 的订单的 PHP 脚本(使用 XAMPP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36971166/