2011-12-22 2 views
1

привет Пожалуйста, помогите мне в этом .. i hv создал форму &, пытающуюся отправить данные в базу данных mysql. но после отправки формы я получаю следующее сообщение об ошибке ..Неопределенная ошибка индекса после отправки формы

Примечание: Undefined индекс: месяц в C: \ XAMPP \ HTDOCS \ Авто \ insert_ac.php на линии 14 Извещение: Undefined индекс: listner_name в C: \ XAMPP \ htdocs \ auto \ insert_ac.php в строке 15 Примечание: Неопределенный индекс: rj_name в C: \ xampp \ htdocs \ auto \ insert_ac.php в строке 16 Примечание: Неопределенный индекс: канал в C: \ xampp \ htdocs \ auto \ insert_ac.php в строке 17 Примечание: неопределенный индекс: год в C: \ xampp \ htdocs \ auto \ insert_ac.php в строке 18 Примечание: Неопределенный индекс: страна в C: \ xampp \ htdocs \ auto \ insert_ac.php on строка 19

&, когда я проверяю пустая строка, введенная в мою базу данных

<?php 

$host="localhost"; // Host name 
$username="root"; // Mysql username` 
$password=""; // Mysql password 
$db_name="auto"; // Database name 
$tbl_name="song_request"; // Table name 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// Get values from form 
$month=mysql_real_escape_string($_POST['month']); 
$listner_name=mysql_real_escape_string($_POST['listner_name']); 
$rj_name=mysql_real_escape_string($_POST['rj_name']); 
$channel=mysql_real_escape_string($_POST['channel']); 
$year=mysql_real_escape_string($_POST['year']); 
$country=mysql_real_escape_string($_POST['country']); 

// Insert data into mysql 

$sql="INSERT INTO song_request (month, listner_name, rj_name, channel, year, country)VALUES('$month', '$listner_name', '$rj_name', '$channel', '$year', '$country')"; 
$result=mysql_query($sql) or die ('error Updating database'); 

// if successfully insert data into database, displays message "Successful". 
if($result){ 
echo "Successful"; 
echo "<BR>"; 
echo "<a href='index.html'>Back to main page</a>"; 
} 

else { 
echo "ERROR"; 
} 

// close connection 
mysql_close(); 
?> 
+1

$ _POST ['month'] не существует. Проверьте свою HTML-форму и убедитесь, что существует элемент формы с именем «месяц». – SeanNieuwoudt

+0

введите html-код –

+0

Переменные listner_name, rj_name, channel, year и country не существуют в $ _POST, поэтому есть две возможные причины: a) у вас нет этих полей в форме (или что они написаны по-разному в HTML и PHP), b) вы делаете GET submit (в теге

, который вы указали методом = «получить», или вы вообще не указали метод), что означает, что коллекция $ _GET - это то место, где вы найдете недостающие поля. – Yaniro

ответ

1

Я не знаю, как выглядит ваша форма, но в основном PHP говорит вам, что нет $_POST['month']. То, что вам действительно нужно сделать, - начать отладку. Посмотрите, что находится в $_POST, а что нет. Попробуйте выяснить, почему PHP говорит вам, что $_POST['month'] не существует.

+0

Привет, мои фотографии выглядят так. –

+0

Похоже, что? :) – hoppa

0

У вас нет поля месяца на форме, поэтому вы получаете эту ошибку.

$_POST['month'] должно быть назначено при отправке формы, попробуйте добавить это поле в форму и повторите попытку.

Кроме того, вы можете проверить, установлены ли они с помощью функций isset() и empty().

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