2014-02-20 4 views
-1

У меня проблема об извещение: Неопределенный индекс: comType в строке 4. if ($ _POST ['comType'] == "parseComment") part.I не знаю, php очень Хорошо. Если вы можете помочь, это будет очень helpul.Thx.Примечание: Неопределенный индекс: в 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 был введен текст для ввода элемента, или значение из флажок, переключатель или выберите (я не знаю, что у вас есть как элемент формы).

Из-за этого: if ($_POST['comType'] == "parseComment")

... , которые в основном говорится:. «Если POST равно этот текст (или значения), выполняют операцию

Вот что я придумал, чтобы проверить мой вышеизложенное, который будет только проверить верно ли то, что мне кажется, будет введенный текст «parseComment».

в следующем примере, он будет возвращать TRUE, если $comtype = $_POST['comType']; действительно был установлен в переменной.

В мой пример включена форма, поскольку в ваш вопрос не было включено ни одного вопроса, поэтому гораздо сложнее узнать, указан ли элемент формы или нет, и/или существует ли опечатка/регистр ,

Почтовые марки: parseComment и parsecomment < = с нижним регистром 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 –

Смежные вопросы