2014-02-20 33 views
-1

我有問題關於通知:未定義的索引:comType在第4行。if($ _POST ['comType'] ==「parseComment」) part.I不知道php非常好吧,如果你能幫上忙,那將是非常有益的。提示:未定義的索引:在頁數

mysql_connect("localhost","root","") or die (mysql_error()); 
mysql_select_db("yorum") or die (mysql_error()); 

if ($_POST['comType'] == "parseComment") { 

    $name = $_POST['userName']; 
    $location = $_POST['userLocation']; 
    $comment = $_POST['userMsg']; 

    $sql = mysql_query("INSERT INTO guestbook (name, post_date, comment, location) 
     VALUES('$name', now(),'$comment','$location')") 
     or die (mysql_error()); 
+1

'comType'不會在'$ _POST'陣列中存在。最有可能的含義是您的表單沒有該名稱的輸入。這也是因爲你可能還沒有提交你的表單。 – SamV

+0

退房http://ro1.php.net/isset –

+0

這個問題出現了很多。檢查這篇文章的信息:https://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index?rq=1 –

回答

0

comType變量作爲POST說法並沒有得到通過。考慮到這種情況,您需要修改第四行使用isset()

if (isset($_POST['comType']) && $_POST['comType'] == "parseComment") { 
+0

thx幫助現在工作。 – posetcayiii

0

試試這個,使用isset

if(isset($_POST['comType'])) 
if ($_POST['comType'] == "parseComment") 
//rest of the code 
+0

thx幫助現在工作。 – posetcayiii

0

你擁有了它,現在,就只有parseComment是input元素輸入的文本,或者從價值的工作方式複選框,單選按鈕或選擇(我不知道你有什麼作爲表單元素)。

正因爲如此:if ($_POST['comType'] == "parseComment")

... 基本上規定:「如果POST等於該文本(或價值),執行操作

這裏是我想出了測試我上面說,這將只測試真要是有什麼在我看來,將輸入的文本「parseComment」。

在下面的例子中,如果$comtype = $_POST['comType'];在一個變量確實設置它將返回TRUE。

我的例子中包含了一個表單,因爲沒有包含在您的問題中,因此它更難以知道表單的元素是否被命名或/和是否存在拼寫錯誤/ lettercase 。

旁註:parseCommentparsecomment < =小寫字母c不一樣。所以,如果是這種情況(沒有雙關意圖),那麼你需要仔細檢查一切。

<?php 
if ($_POST['comType'] == "parseComment") { 

    $comtype = $_POST['comType']; 
    $name = $_POST['userName']; 
    $location = $_POST['userLocation']; 
    $comment = $_POST['userMsg']; 

echo $comtype; 
echo "<br>"; 
echo $name; 
echo "<br>"; 
echo $location; 
echo "<br>"; 
echo $comment; 
echo "<hr>"; 
} 
?> 

<form action="" method="post"> 
ComType: 
<input type="text" name="comType"> 
<br /> 
Username: 
<input type="text" name="userName"> 
<br /> 
Location: 
<input type="text" name="userLocation"> 
<br /> 
Comment: 
<input type="text" name="userMsg"> 
<br /> 
<input type="submit" name="submit" value="Submit"><br /> 
</form> 

一種不同的方法,包括:

<?php 
if ($_POST['comType'] == "parseComment") { 

    $comtype = $_POST['comType']; 
    $name = $_POST['userName']; 
    $location = $_POST['userLocation']; 
    $comment = $_POST['userMsg']; 

    echo $comtype; 
    echo "<br>"; 
    echo $name; 
    echo "<br>"; 
    echo $location; 
    echo "<br>"; 
    echo $comment; 
    echo "<hr>"; 
} 
    if(empty($_POST['comType'])){ 
    echo "ComType is either not set or is empty. Please enter a value."; 
} 
    if ($_POST['comType'] !== "parseComment") { // check if NOT equal to 
    echo "That is not the comment I was looking for."; 
} 
?> 

<form action="" method="post"> 
ComType: 
<input type="text" name="comType"> 
<br /> 

Username: 
<input type="text" name="userName"> 
<br /> 

Location: 
<input type="text" name="userLocation"> 
<br /> 

Comment: 
<input type="text" name="userMsg"> 
<br /> 

<input type="submit" name="submit" value="Submit"><br /> 
</form> 
+0

thx幫助現在工作。 – posetcayiii

+0

不客氣@posetcayiii –