За последние 24 часа нас посетили 59936 программистов и 1817 роботов. Сейчас ищут 2060 программистов ...

Мой первый опыт

Тема в разделе "PHP для новичков", создана пользователем Elementozavrik, 20 янв 2008.

  1. Elementozavrik

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

    С нами с:
    20 янв 2008
    Сообщения:
    2
    Симпатии:
    0
    Решил попробовать создать регистрацию, где вводится Логин, Пароль и данные заносятся в базу данных.

    html:
    Код (Text):
    1. <html>
    2. <head><title>Регистрация пользователя</title></head>
    3. <body>
    4. <form action="reg.php" method="POST">
    5. Login <input type=text name="Array[Login]" size=20xBR>
    6. Password <input type=text name="Array[Password]" size=20xBR>
    7. <input type=sumbit name="Sumbit" value="sumbit!">
    8. </form>
    9. </body>
    10. </html>
    php:
    Код (Text):
    1. <html>
    2. <head><title>Результаты регистрации</title></head>
    3. <body>
    4. <?php
    5. $host="localhost";
    6. $user="root";
    7. $passw="";
    8. $dbname="phplearn";
    9. $tablename="reglist";
    10. $link=mysql_connect($host,$user,$passw);
    11. mysql_select_db($phplearn);
    12. $query="INSERT into $tablename values ("0", "$Array[Login]", "$Array[Password]")";
    13. if (mysq_db_query ($link,$query)) {
    14.     print("Регистрация удалась!")
    15. } else {
    16.     print("Регистрация не удалась!")
    17. }
    18. mysql_close($link);
    19. ?>
    20. </body>
    21. </html>

    Что мне нужно? Во-первых, что я не правильно сделал при написании html/php, во-вторых я не могу проверить это все дело, потому что не удается создать таблицу в бд "phplearn", я указываю название таблицы, число полей, а дальше настраиваю поля, видимо не правильно, прошу проконсультировать, как верно это сделать для данного случая (работаю через myphpadmin, стоит Денвер).
    Спасибо за вашу отзывчивость, надеюсь вас не затруднит помочь мне... -)
     
  2. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    пма пишет обычно, в чем конкретно проблема.

    по регистрации:
    1) перед отправкой проверяй поля на заполненность
    2) перед вставкой текстовых сведений в базу - проверь логин и пароль на непустоту и используй такую конструкцю:

    $login = mysql_real_escape_string($data,$conn);

    3) в пункте else неплохо бы указывать, почему не удалась регистрация.. сервер там временно недоступен или логин такой уже существует. ( mysql_errno() тебе тут в помощь )
     
  3. Elementozavrik

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

    С нами с:
    20 янв 2008
    Сообщения:
    2
    Симпатии:
    0
    А вообще, работать будет?
    Что такое mysql_real_escape_string?
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
  5. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    Elementozavrik

    ну, твой пример технически работать будет..

    только, всего вероятнее, могут зарегистрироваться два пользователя с одним и тем же логином и паролем, и второй получит доступ к учетной записи первого:)
     
  6. Adil

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

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    когда прочитал название темы, показалось что попал на форум девственников ;) извините за оффтоп
     
  7. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Не факт. Если логин описан в базе как уникальный, то при попытке регистрации с ним будет выдана ошибка.

    Но поле для ввода пароля лучше описывать как
    HTML:
    1. Password <input type="[b]password[/b]" name="Array[Password]" size=20xBR>
     
  8. Adil

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

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    karakh
    тогда наверое и sumbit надо писать как submit...
     
  9. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    надо :) . Но это ошибка синтаксическая, а запись пароля открытым текстом - логическая
     
  10. Ares

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

    С нами с:
    5 окт 2007
    Сообщения:
    25
    Симпатии:
    0
    Тоже пытаюсь научитсо создавать явление пользователей на сайте. Установил Apache + Mysql + Php. Теперь, я как понимаю, необходимо создать таблицу(каталог) пользовователей, куда они будут добавлятся?
    В книге у меня написано:"Удобной программой для просмотра структуры базы данных является mysqlshow. Введите следующую команду: mysqlshow -p mysql. Вы увидете список таблиц..."
    И в этой же книге: "Создать БД можно с помощью программы mysqladmin......
    mysqladmin -u admin -p create my_db"
    Вопрос №2: куда вводить эти команды? и если кто знайт, дайте ссылку где можно разобратся в этих командах
    Вопрос №3 заранее: если я собираюсь размещать свой сайт на хост сервере => я не смогу ведь создавать там таблицу. Просветите в этом деле. СНКС
     
  11. Adil

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

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    Ares
    ты будешь отправлять запросы через PHP...
    Пример:

    Код (Text):
    1. <?
    2. $connection=mysql_conect("host","name","pass")
    3. $sql="CREATE DATABASE DB(
    4. ....
    5. )";
    6.  
    7. mysql_query($sql, $connection);
    8. ?>
     
  12. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    Adil

    ток mysql_connect =)