За последние 24 часа нас посетили 18415 программистов и 1604 робота. Сейчас ищут 869 программистов ...

Помогите разобраться с кодом...

Тема в разделе "PHP и базы данных", создана пользователем rodion4657, 24 янв 2012.

  1. rodion4657

    rodion4657 Активный пользователь

    С нами с:
    24 янв 2012
    Сообщения:
    135
    Симпатии:
    0
    Здравствуйте...помогите пожалуйста....нужно из формы добавить записи в БД, ниже представлена сама форма и собственно 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>
     
  2. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    осмелюсь выступить :)

    Код (PHP):
    1. <?php
    2. // абсолютно не понятно зачем эта проверка и скрытое поле в форме...ну да ладно
    3. if (isset($_POST['posted'])) 
    4. { $name = $_POST['name'];
    5. $old = $_POST['old'];
    6. $ves = $_POST['ves'];
    7.  
    8. //передача данных из формы на сервер
    9. if ($name == "" or $old == "" or $ves == "")
    10. { echo "Необходимо ввести имя - нажмите кнопку Назад и заполните форму еще раз"; exit;    }
    11. $name = addslashes($name);
    12. $old = addslashes($old);    
    13. $ves = addslashes($ves);    
    14. $db = mysql_connect("localhost", "rau","526282");
    15. if (!$db)
    16. { echo " Ошибка: Невозможно подключиться к MySQL серверу. Пожалуйста, попробуйте позже."; exit; }
    17. mysql_SELECT_db("baza",$db);
    18. // тут надо смотреть структуру таблицы, если есть еще поля указать их
    19. $query = "INSERT INTO proba VALUES ('".$name."','".$old."','".$ves ."')";
    20. $result = mysql_query($query);
    21. if($result)
    22. echo "<H3>Информация о туристе успешно добавлена в базу данных.</H3>"; }
    23. ?>
     
  3. rodion4657

    rodion4657 Активный пользователь

    С нами с:
    24 янв 2012
    Сообщения:
    135
    Симпатии:
    0
    Дело в том, что он не может подкличиться к серверу....В чем может быть причина?
     
  4. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Вариантов несколько:
    1. Пользователя `rau` нет в MySQL
    2. У пользователя `rau` нет прав
    3. У пользователя `rau` совершенно другой пароль
    4. Сервер MySQL находится не по адресу `localhost`
    5. Сервера MySQL нет.
    6. PHP загружен без модуля php_mysql
     
  5. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Я думаю, что это не все возможные варианты :) Например, ещё возможен вариант, что MySQL слушает какой-то другой, не стандартный порт.
     
  6. rodion4657

    rodion4657 Активный пользователь

    С нами с:
    24 янв 2012
    Сообщения:
    135
    Симпатии:
    0
    Можно про порт пояснить подробней...Вот к примеру скрипт для вывода всей БД работает, а именно этот example.php не хочет...((((
     
  7. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Ну сравни их. Найди, чем отличаются - поймёшь, почему один скрипт подключается, другой - нет...
     
  8. rodion4657

    rodion4657 Активный пользователь

    С нами с:
    24 янв 2012
    Сообщения:
    135
    Симпатии:
    0
    да они ничем в принципе не отличаются...
    вот этот скрипт для вывода всей базы...
    .............................................................................................................................................................
    <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>
     
  9. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    В начале неработающего скрипта добавьте строки:
    1. error_reporting(E_ALL);
    2. ini_set('display_errors','on');