За последние 24 часа нас посетили 60833 программиста и 1772 робота. Сейчас ищет 901 программист ...

Внесение новой информации в базу данных

Тема в разделе "MySQL", создана пользователем macaroshka, 9 ноя 2009.

  1. macaroshka

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

    С нами с:
    9 ноя 2009
    Сообщения:
    31
    Симпатии:
    0
    Здравствуйте!
    Начала изучать php и столкнулась с такой проблемой(пример делаю по книжки)
    тут я вношу запись которую надо внеси в бд:
    PHP:
    1. <form action="index4.php" method="post">
    2. <table border=0>
    3. <tr>
    4. <td>Name</td>
    5. <td> <input type="Text" Name="Name" maxlength=45 size=30 <br> </td>
    6. </tr>
    7. <tr>
    8. <td colspan=2><input type="submit" name="submit" value="Register"></td>
    9. </tr>
    10.  </table>
    11. </form>
    12.  
    а сдесь обрабатываю эту запись:

    PHP:
    1.  
    2.    if (!$Name)##|| !$Adress )
    3. {
    4. echo "You have not entered all the required details.<br>"
    5. ."Please go back and try again.";
    6. }
    7. $Name = addslashes($Name);
    8. $db = mysql_pconnect("localhost", "root", "");
    9. if (!$db)
    10. {
    11. echo "Error: Could not connect to database. Please try again later . " ;
    12. }
    13. mysql_select_db( 'BASIS') ;
    14. $query = "insert into `customers` (`Name`)  values  ('".$Name."')";
    15. $result = mysql_query ($query) ;
    16. if ($result)
    17. echo mysql_affected_rows ( ) . " Customers inserted into database.";
    18.  
    при нажатии на кнопку "Register" программа выдает что я ничего не ввела, подскажите пожалуйста где я ошиблась???
     
  2. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    У тебя стоит
    register_globals = off

    Поэтму надо -
    во второй части скрипта инициализировать переменные
    $Name и $Adress
    те, значения что ввела на форме находятся в массиве $_POST
     
  3. Frozen

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

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    плохая книжка.

    http://phpfaq.ru/na_tanke


    if (!$Name)
    заменить на
    if (!$_POST['Name'])

    и вообще обращаться к ней по $_POST['Name']

    гуглить по register_globals
     
  4. macaroshka

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

    С нами с:
    9 ноя 2009
    Сообщения:
    31
    Симпатии:
    0
    изменила в php.ini "register_globals = off" на "register_globals = on" если я правильно поняла
    в коде везде $Name поменяла на $_Post['Name']
    а он всеравно говорит что нет записи(((
     
  5. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Вот этого делать не надо было.
     
  6. macaroshka

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

    С нами с:
    9 ноя 2009
    Сообщения:
    31
    Симпатии:
    0
    все вернула как и было, вот только это ничего не изменило.

    PHP:
    1.  if (!$_Post['Name'])
    может тут какой-нибудь кавычки или точки мне нехватает ? я в них еще путаюсь[/php]
     
  7. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    macaroshka
    добавьте в начало скрипта var_dump($_POST);
    так вы увидите, что у вас содержится в данном массиве.

    в частности, в вашей форме нет поля с именем "адрес".
     
  8. Frozen

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

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    перед
    if (!$_Post['Name'])

    напиши var_dump($_POST);
    и вывод сюда напиши
     
  9. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
  10. macaroshka

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

    С нами с:
    9 ноя 2009
    Сообщения:
    31
    Симпатии:
    0
    Results array(2) { ["Name"]=> string(6) "kjgdjg" ["submit"]=> string(8) "Register"
     
  11. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    macaroshka
    Включаем
    display_errors = On
    error_reporting = E_ALL | E_STRICT

    И запоминаем что $_POST и $_Post это разные вещи!
     
  12. macaroshka

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

    С нами с:
    9 ноя 2009
    Сообщения:
    31
    Симпатии:
    0
    Спасибо Вам большое!!!! я даже и немогла подумать,что в php надо учитывать регистр,буду внимательно теперь все читать )))