繁体   English   中英

如何在php中为两个不同的帖子使用isset方法?,

[英]How can I use isset method in php for two different posts?,

我在一个php文件中有两个isset,但是它只保留其中一个帖子。 所以是一个或另一个! 这是php部分:

<?php
session_start();
include_once'config/connect.php'; //database connection 
if(isset($_POST['add'])) {

    $add = mysql_query("UPDATE venue SET location='".$_POST['add']."'
WHERE vid = (select vid from user_venue where id = (select user_id from iangadot_user       
where username='".$_SESSION['username_profile']."' ))");    

}
if(isset($_POST['webb'])) {

    $webb = mysql_query("UPDATE venue SET web='".$_POST['webb']."'
WHERE vid = (select vid from user_venue where id = (select user_id from iangadot_user   
where username='".$_SESSION['username_profile']."' ))");    

}
 ?>

HTML文件:

 <!DOCTYPE html>
 <html>

 <body>
 <form method="POST"> 
 <p>Address:</p> <input class = "field" name="add" placeholder= "<?php     
 if(isset($_SESSION['address'])) { echo $_SESSION['address']; } ?>" type="text" >
 <input class = "button"  type = "submit" Value = "Save"><br>
 <p>Website:</p> <input class = "field" name= "webb" placeholder = "<?php   
 if(isset($_SESSION['website'])) { echo $_SESSION['website']; } ?>" type="text">

 </form>
 </body>
 </html>

文本输入将始终报告$_POST的值,可能为空字符串。

从概念上讲,您允许用户将两个值相加,因此由您决定优先级高于另一个值或在两个值均被填充的情况下报告错误。

现在,要自动检测填充了哪一个,您只需测试$_POST数据的值即可。

if ($_POST['add'] != "" && $_POST['web'] != "") {
    error ("make up your mind!");
}
if ($_POST['add'] != "") { ....
if ($_POST['web'] != "") { ....

or die(mysql_error())

到查询语句的末尾。 查询之一可能是语法错误。

另外,您实际上应该至少通过mysql_real_escape_string()传递POST变量,而不是直接插入数据库中。

暂无
暂无

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

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