我有兩個字段'name'和'username'。我正在檢查用戶名的可用性,這是我能夠檢查。我的問題與我展示表格的方式有關。我想實現從php中的函數中取值,並顯示div或column的值,重新載入以前的值頁面
- 在顯示用戶名的同一行中顯示消息,但顯示在第三列中。
- 顯示消息時,應顯示先前輸入的值。
我想用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);
}
}*/
?>
要開始,你需要定義變量,然後纔可以調用它。意思是$ message = something。 「以前輸入的值」是什麼意思是這個用戶名和密碼? – StenW
@StenW:是的,我之前定義了它,而我在程序中使用它,以前輸入的值意味着哪個用戶在登錄頁面時註冊了 – new2world
我也會注意使用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