Здравствуйте...помогите пожалуйста....нужно из формы добавить записи в БД, ниже представлена сама форма и собственно php-скрипт для добавления данных в базу, укажите где может быть ошибка или какие еще существуют причины того, что данные не добавляются... ............................................................................................................................................................. html-форма <HTML> <HEAD> <TITLE> Турагенство "Travel" - Добавление данных о туристе </TITLE> </HEAD> <BODY> <H1> Турагенство "Travel".</H1> <H2> Добавление данных о туристе.</H2> <FORM method="POST" action="example.php"> <INPUT type="hidden" name="posted" value="true"> <<TABLE border=0> <TR><TD>Имя:</TD> <TD><INPUT name="name" type="text"></TD> </TR><TR><TD>Возраст:</td> <TD><INPUT name="old" type="text"></TD> </TR><TR> <TD>Вес: </td> <TD><INPUT name="ves" type="text"></TD> <TR><TD colspan=2><INPUT type="submit" value="Добавить"></TD></TR> </TABLE> </FORM> </BODY> </HTML> ........................................................................................................................................................ example.php <HTML> <HEAD> <TITLE> Турагенство "Travel" - Добавление данных о туристе </TITLE> </HEAD> <BODY> <H1> Турагенство "Travel".</H1> <H2> Добавление данных о туристе.</H2> <?php if (isset($_POST['posted'])) { $name = $_POST['name']; $old = $_POST['old']; $ves = $_POST['ves']; //передача данных из формы на сервер if ($name == "" or $old == "" or $ves == "") { echo "Необходимо ввести имя - нажмите кнопку Назад и заполните форму еще раз"; exit; } $name = addslashes($name); $old = addslashes($old); $ves = addslashes($ves); $db = mysql_connect("localhost", "rau","526282"); if (!$db) { echo " Ошибка: Невозможно подключиться к MySQL серверу. Пожалуйста, попробуйте позже."; exit; } mysql_SELECT_db("baza",$db); $query = "INSERT INTO proba(name, old, ves) VALUES ('".$name."','".$old."','".$ves ."')"; $result = mysql_query($query); if($result) echo "<H3>Информация о туристе успешно добавлена в базу данных.</H3>"; } ?> </BODY> </HTML>
осмелюсь выступить Код (PHP): <?php // абсолютно не понятно зачем эта проверка и скрытое поле в форме...ну да ладно if (isset($_POST['posted'])) { $name = $_POST['name']; $old = $_POST['old']; $ves = $_POST['ves']; //передача данных из формы на сервер if ($name == "" or $old == "" or $ves == "") { echo "Необходимо ввести имя - нажмите кнопку Назад и заполните форму еще раз"; exit; } $name = addslashes($name); $old = addslashes($old); $ves = addslashes($ves); $db = mysql_connect("localhost", "rau","526282"); if (!$db) { echo " Ошибка: Невозможно подключиться к MySQL серверу. Пожалуйста, попробуйте позже."; exit; } mysql_SELECT_db("baza",$db); // тут надо смотреть структуру таблицы, если есть еще поля указать их $query = "INSERT INTO proba VALUES ('".$name."','".$old."','".$ves ."')"; $result = mysql_query($query); if($result) echo "<H3>Информация о туристе успешно добавлена в базу данных.</H3>"; } ?>
Вариантов несколько: 1. Пользователя `rau` нет в MySQL 2. У пользователя `rau` нет прав 3. У пользователя `rau` совершенно другой пароль 4. Сервер MySQL находится не по адресу `localhost` 5. Сервера MySQL нет. 6. PHP загружен без модуля php_mysql
Я думаю, что это не все возможные варианты Например, ещё возможен вариант, что MySQL слушает какой-то другой, не стандартный порт.
Можно про порт пояснить подробней...Вот к примеру скрипт для вывода всей БД работает, а именно этот example.php не хочет...((((
да они ничем в принципе не отличаются... вот этот скрипт для вывода всей базы... ............................................................................................................................................................. <html> <HEAD> <META http-equiv=content-type content="text/html; charset=windows-1251"> </HEAD> <body > <br><br><br><br><br> <center><h2>База</h2></center> <table align="center"border=1> <tr align="center"> <td>Имя</td> <td>Возраст</td> <td>Вес</td> </tr> <?php $link = mysql_connect("localhost", "rau","526282") or die("Could not connect"); mysql_select_db("baza",$link) or die("Could not select database"); $query="SELECT * FROM proba "; $result = mysql_query($query) or die("Query failed"); while ($line = mysql_fetch_array($result)) { print "<tr align=\"center\"><td>$line[1]</td>"; print "<td>$line[2]</td>"; print "<td>$line[3]</td>"; } ?> </table> </body> </html>
В начале неработающего скрипта добавьте строки: 1. error_reporting(E_ALL); 2. ini_set('display_errors','on');