2013-11-10 241 views
0
<?php 
    $conn=mysql_connect("localhost","root","") 
    or die("cannot connect"); 
    $db=mysql_select_db("ticket",$conn) 
    or die("no db"); 
    if (isset($_POST['submit'])) 
    { 
    $name1=$_POST['name']; 
    $phone1=$_POST['phone']; 
    $email1=$_POST['email']; 
    $pass1=$_POST['password']; 
    } 
    $query="insert into register(name,phone,email,pass) values ('$name1','$phone1','$email1','$pass1')"; 
    $result=mysql_query($query) 
    or die("Error in pushing".mysql_error()); 
    mysql_close($conn); 
    ?> 

錯誤正在逐漸未定義索引錯誤

說明:未定義變量:NAME1在C:\ XAMPP \ htdocs中\塞爾瓦\ jqsty.php 第13行
說明:未定義可變:PHONE1在C:\ XAMPP \ htdocs中\塞爾瓦\ jqsty.php 第13行
說明:未定義變量:EMAIL1在C:\ XAMPP \ htdocs中\塞爾瓦\ jqsty.php 第13行
說明:未定義可變:pass1在C:\ xampp \ htdocs \ selva \ jqst中y.php 除非形式張貼線13

+0

感謝ü這麼多的所有烏爾答案 – selva1990

回答

0

你檢查的$_POST['submit']存在,如果它的發現設置一些變量。然後你在條件塊外執行你的mysql查詢,所以如果找不到$ _POST變量,你會得到undefined variable錯誤。

嘗試

<?php 
    $conn=mysql_connect("localhost","root","") 
    or die("cannot connect"); 
    $db=mysql_select_db("ticket",$conn) 
    or die("no db"); 
    if (isset($_POST['submit'])) 
    { 
    $name1=$_POST['name']; 
    $phone1=$_POST['phone']; 
    $email1=$_POST['email']; 
    $pass1=$_POST['password']; 
    // This code now inside if block 
    $query="insert into register(name,phone,email,pass) values ('$name1','$phone1','$email1','$pass1')"; 
    $result=mysql_query($query) 
     or die("Error in pushing".mysql_error()); 
    mysql_close($conn); 
    } 
    ?> 
+0

感謝ü所以很多工作 – selva1990

1

,在這個變量將永遠不會有一個值:

$query="insert into register(name,phone,email,pass) values ('$name1','$phone1','$email1','$pass1')"; 

如果你需要等待POST執行查詢,放您if裏面的代碼:

$conn = mysql_connect("localhost","root",""); 

if(!$conn) 
    die("cannot connect"); 

$db = mysql_select_db("ticket",$conn); 

if(!$db) 
    die("no db"); 

if(isset($_POST['submit'])) 
{ 
    $name1 = $_POST['name']; 
    $phone1 = $_POST['phone']; 
    $email1 = $_POST['email']; 
    $pass1 = $_POST['password']; 

    $query = "insert into register(name,phone,email,pass) values ('$name1','$phone1','$email1','$pass1')"; 
    $result = mysql_query($query); 

    if(!$result) 
     die("Error in pushing".mysql_error()); 
} 

mysql_close($conn); 
0

把MySQL查詢if語句大括號就像這樣:

if(isset($_POST['submit'])) { 
$name1=$_POST['name']; 
$phone1=$_POST['phone']; 
$email1=$_POST['email']; 
$pass1=$_POST['password']; 
$query="INSERT INTO `register`(`name`,`phone`,`email`,`pass`) VALUES('$name1','$phone1','$email1','$pass1')"; 
$result=mysql_query($query) or die("Error in pushing".mysql_error()); 
mysql_close($conn); 
} 
?> 

當不submited的形式,你的變量沒有被定義,您要查詢數據庫與他們。因此,您將所有內容都放在if語句中,以便只有在提交表單才能執行查詢時才執行。你也容易受到mysql注入的影響,使用mysql_real_escape_string函數或使用mysqli prepared語句。

+0

非常感謝你 – selva1990

1

我認爲這個問題是你沒有進入,如果循環,因爲你沒有你的提交按鈕命名的更多信息: 試試這個

<input type="submit" class="submit1" value="Submit" name="submit"/>