希望這個問題有道理。如果在文本框中輸入的房間號碼在數據庫中,我想使用javascript顯示一條消息。如果它在數據庫中,則不顯示任何內容(「」),如果它不在數據庫中,則顯示消息「房間無效」。當我打開我的頁面時收到通知錯誤
的問題是,雖然當我打開其中的文本保存頁面時,它與公告稱出現:
公告:未定義的索引:在/ web /螺柱/ Mobile_app /建立事務roomChosen。 php on line 287
現在我相信它說明這個錯誤的原因是因爲在這個頁面打開之前什麼都沒有發佈。這是假設發佈在文本框中輸入的房間號碼,但很明顯,房間號碼的文本框是在同一頁面上,因此它不能在頁面打開之前發佈。我想是這樣做的用戶:
第1步:在文本框中輸入房間號
第2步:點擊提交按鈕
第3步:檢查是否房間號碼在文本框是數據庫
第4步:如果房間號是數據庫或不
所以我想知道的是我怎麼能存儲的PHP代碼,以便它檢查是否房間顯示消息根據在文本框中的數字是否在數據庫中點擊提交按鈕?
下面是房間號碼文本框的HTML和提交按鈕:
//textbox where room number is entered in
<p><strong>10: Room:</strong> <input type="text" id="room" name="roomChosen" roomthere="<?php echo $room_there; ?>" />
//message displayed if room number is in database or not
<br/><span id="roomAlert"></span></p>
// submit button
<p><input class="questionBtn" type="button" value="Prepare Questions" name="prequestion" onClick="myClickHandler()"/></p>
下面是PHP進行檢查,如果在文本框的房間號是在數據庫或不:
$room_there = true;
$roomresult = mysql_query("SELECT Room FROM Room WHERE Room = " . (int) $_POST['roomChosen']);
if(mysql_num_rows($roomresult) == 0) $room_there = false;
下面是當點擊時處理提交按鈕的處理程序:
function myClickHandler(){
if(validation()){
showConfirm();
}
}
Javascript validat離子的房間號文本框:
var roomTextO = document.getElementById("room");
var errRoomMsgO = document.getElementById("roomAlert");
if (roomTextO.value == ""){
errRoomMsgO.innerHTML = "Please Enter in a Room Number";
isDataValid = false;
}else if (!trimmedRoomText.length){
errRoomMsgO.innerHTML = "Please Enter in a Room Number";
isDataValid = false;
}else if(roomTextO.getAttribute("roomthere") == false){
errRoomMsgO.innerHTML = "This Room is Invalid";
}else{
errRoomMsgO.innerHTML = "";
}
你要我把這個代碼,以便它檢查此當頁面打開或之後點擊提交按鈕? – user1163005
你會把它放在PHP腳本的正上方,在287行上,使行號碼爲288. – buley
完全一樣,通知仍然存在,因爲就像我說過的我不想在頁面打開之前發佈任何內容,我想點擊提交按鈕後發佈一些東西 – user1163005