2013-12-12 110 views
-3

我想在頭部傳遞一個變量。如果該變量存在而不是發出警報。 但它不工作 的login.phpPHP內的警報命令不工作?

<?php 
include "db.php"; 
$user=$_POST['t1']; 
$pass=$_POST['t2']; 
$result=mysql_query("select * from registor where username='$user'")or die(mysql_error()); 
$row=mysql_fetch_row($result); 
if($user=='' || $pass==''){ 
header("location:account.php?wrong"); 
} 
?> 

account.php

<?php 
if(isset($_GET['wrong'])) 
{ 
?> 
<script>alert(Please enter detials !!);</script> 
<?php 
} 
if(isset($_GET['user'])) 
{ 
?> 
<script>alert(Now, Login Please !!);</script><?php 
} 
?> 
+2

** **危險:您正在使用[**的**過時數據庫API](http://stackoverflow.com/q/12859942/19068),並應使用[現代替換](http://php.net/manual/en/mysqlinfo.api.choosing.php)。你也**易受[SQL注入攻擊](http://bobby-tables.com/)**,現代的API會使[防禦]更容易(http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php)自己從。 – Quentin

+1

查看交付給瀏覽器的代碼。它是你期望的代碼嗎?看看你的瀏覽器的JavaScript錯誤控制檯。它說什麼?不要只是一堆PHP,並說「它不工作」。 – Quentin

回答

6

你需要周圍的字符串引號:

<script>alert("Now, Login Please !!");</script><?php 

但是,你應該在console所看到的錯誤。每當你有東西不工作的客戶端,總是先看看控制檯。

+0

謝謝...它適用於我 – user2831560

0

你實際上沒有在你的標題中傳遞任何東西。讓它這樣,它會工作:

header("location:account.php?wrong=wrong"); 

和警報消息使用單或雙qoutes:

<?php 
if(isset($_GET['wrong'])) 
{ 
?> 
<script>alert('Please enter detials !!');</script> 
<?php 
} 
if(isset($_GET['user'])) 
{ 
?> 
<script>alert('Now, Login Please !!');</script><?php 
} 
?>