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

时间:2014-01-07 18:07:35

标签: php html sql isset

我在一个php文件中有两个issets,但它只继续使用其中一个帖子。所以这是一个或另一个!这是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>

2 个答案:

答案 0 :(得分:1)

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

从概念上讲,您允许用户添加这两个值,因此您可以优先考虑另一个值,或者在两个值都填充时报告错误。

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

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

答案 1 :(得分:0)

添加

or die(mysql_error())

到查询语句的末尾。机会是其中一个查询有语法错误。

另外,你真的应该至少通过POST变量      mysql_real_escape_string() 而不是直接插入数据库。