2013-07-31 49 views
-1

我有兩個字段'name'和'username'。我正在檢查用戶名的可用性,這是我能夠檢查。我的問題與我展示表格的方式有關。我想實現從php中的函數中取值,並顯示div或column的值,重新載入以前的值頁面

  1. 在顯示用戶名的同一行中顯示消息,但顯示在第三列中。
  2. 顯示消息時,應顯示先前輸入的值。

我想用html,javascript和php來實現這一點。我不想去任何其他語言或技術

Login.php正在建設的形式。

<?php 
include 'login2.php'; 
function form($name, $username) 
{ 
?> 
<form name="mylogin" method="post"> 
<table> 
<tr><td>Name</td> 
<td><input type="text" id="name" name="name" value="<?php echo $name?>" required></td></tr> 
<tr><td>Username</td> 
<td><input type="text" id="user" name="user" value="<?php echo $username?>" required></td> 
<td id="messgae"></td>//want to display message over here have tried value"<?php echo $message"?>     
</tr> 
<tr><td><input type="submit" name="submit" value="Username Availability Check"></td></tr> 
<?php usercheck()?> 
</table> 
</form> 
<?php 
} 
?> 

<?php 
form('','') 
?> 

在Login2.php我只是檢查用戶名和現在我不能插入值,這樣插入查詢被評論和被用戶發送回輸入的值。我面臨的問題是,單擊提交按鈕或用戶可用性檢查按鈕後,表單會顯示兩次。我知道這是因爲我正在調用該函數兩次,但如何避免它?

代碼

<?php 
function connect() 
{ 
    mysql_connect('localhost','root','password'); 
    mysql_select_db('loginprac'); 
} 
function usercheck() 
    { 
     if(isset($_POST['submit'])) 
     { 
     connect(); 
     $name=$_POST['name']; 
     $user = mysql_real_escape_string($_POST['user']); 
     $check_for_username = mysql_query("SELECT user from userpage WHERE user = '$user'"); 
     $count = mysql_num_rows($check_for_username); 
     if($count != 0) 
     { 

      form($name,$user); 
     } 
     } 
    } 
    /*function insert() 
{ 
    connect(); 
    if(isset($_POST['submit'])) 
    { 
     usercheck(); 
     $name=$_POST['name']; 
     $user=$_POST['user']; 
     $sql1= "INSERT INTO userpage (name,user) VALUES ('$name','$user')"; 
     mysql_query($sql1); 
    } 

}*/ 
?> 
+0

要開始,你需要定義變量,然後纔可以調用它。意思是$ message = something。 「以前輸入的值」是什麼意思是這個用戶名和密碼? – StenW

+0

@StenW:是的,我之前定義了它,而我在程序中使用它,以前輸入的值意味着哪個用戶在登錄頁面時註冊了 – new2world

+0

我也會注意使用php mysql擴展。這不是非常安全,你留下你的應用程序打開注射器攻擊看到:http://stackoverflow.com/questions/60174/how-to-prevent-sql-injection-in-php。如果你使用正確的話,你應該使用mysqli或PDO,它們都是安全的。我更喜歡PDO,請參閱:http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html。 – StenW

回答

0

獲取函數形式外<form>()。只將消息和用戶名傳遞給函數。

+0

但我會用它來實現?我做到了,但沒用 – new2world

0

如果要在點擊提交按鈕/ useravailability檢查按鈕時使用javascript, ,請調用一個ajax函數,然後使用新輸入的用戶名(以檢查可用性)轉到您的php代碼。 檢查可用性和 在那裏打印您的消息。 然後在您實際需要郵件的文檔中替換html內容(使用ajax響應文本)。

here介紹了這樣一個Ajax功能

,或者嘗試jQuery的AJAX

+0

我不想使用ajax或任何其他技術提到以下要實現它與html,javascript和php。謝謝 – new2world

相關問題