1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Проблема с Php

Тема в разделе "Web Coding", создана пользователем Мо3Г, 28 окт 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Мо3Г

    Мо3Г Постоялец

    Регистр.:
    16 июл 2007
    Сообщения:
    121
    Симпатии:
    19
    index.html
    PHP:
    <html>
    <head>
    <title>fds</title>
    </head>
    <body>
    Гостевая книга
    <form action=pop.php method="post">
    <br>Ваше имя-
    <input type="text" name="absender" value="<?php echo $_POST['absender'];?>">
    <br>Ваша проффесия-
    <input type="text" name="betreff" value="<? $_POST['betreff']?>">
    <br>Коммент
    <br>
    <textarea name="message">
    <?php
      
    echo $_POST['message'];
    ?>
    </textarea>
    <br>
    <input type="submit" value="Отправить">
    </form>
    </body>
    </html>
    pop.php
    PHP:
    <?php
    $tabellenname
    ="gastbuch";
    $sql"INSERT INTO $tabellenname(absender,betroff,message,datum)values(
    '"
    .$_POST['absender']."','".$_POST['betreff']."',
    '"
    .$_POST['message']."', now())";
    $link=mysql_connect("localhost","rusik","popka");
    mysql_select_db("php_rusik",$link);
    mysql_query($sql,$link);
    $meldung="SAVE IT RUSLAN";
    echo 
    $meldung;
    ?>
    И скрин с Phpmyadmin! -
    Перейти по ссылке
    Вроде всё нормально, вводится информация в формы, и по идее добавляется в бд, но в проверяю в phpmyadmin - пусто - ничё не добавляется((
    Доб. к скрипту типа проверку заполненности полей или исключения всяких символов типа с функциями strip_tags() ; trim(); я пока не писал так как у меня пока что это не работает - ведь основы, это главное...Прошу помочь найти ошибку....:bc:
    И ещё если вдруг кто знает зачем надо вставлять ньюанс типа value="<?php echo $_POST['absender'];?>", ибо если я этот кусок не вставляю ничё не происходит, так какая разница???А то в книжке где формуляры написано, но не обьяснено, в мануалах не нашёл как-то:nezn:
     
  2. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    Эту строку
    PHP:
    mysql_query($sql,$link); 
    замените на
    PHP:
    mysql_query($sql,$link) or exit(mysql_error()); 
    И узнаете в чем ваша проблема.
     
    Мо3Г нравится это.
  3. ShaDeRzz

    ShaDeRzz

    Регистр.:
    16 окт 2007
    Сообщения:
    176
    Симпатии:
    65
    Мо3Г
    Не нужен он там. Во-первых php в html файле не отработается (Если конечно не подшаманен htaccess или настройки сервера) - а выведет это обычным текстом.
    Во-вторых это наверное отголоски планируемого вывода введённой инфы если заполненные данные в одном или нескольких полях не соответствуют требованиям (Ну тоесть программистом видимо планировалась проверка полей, и если какое-то поле заполнено неверно или не заполнено - выкидывало бы опять на форму, с заполненными полями уже) и сообщением, какое поле заполнено не верно...

    Вобщем я вас наверное запутал - просто уберите вызов
    и тп из html файла.

    А по поводу phpmyadmin
    я бы сделал так :
    mysql_query($sql,$link) or die(mysql_error());

    А также всё-таки проверял бы данные. Попробуйте сделать html_specialchars для данных POST - возможно из-за кавычек или прочих неприятных сиволов, у вас не может создаться запись в базе...

    И можно ещё сделать вот такое (В самом верху php файла:(

    Это включит вывод всех ошибок и нотисов.
    Если что-то выдаст - кидайте сюда - посмотрим...
     
    Мо3Г нравится это.
  4. g0rn

    g0rn Постоялец

    Регистр.:
    3 июн 2007
    Сообщения:
    137
    Симпатии:
    63
    А в пхпмайадмине на кнопочку 'Обзор' тыкнуть слабо?
     
  5. Мо3Г

    Мо3Г Постоялец

    Регистр.:
    16 июл 2007
    Сообщения:
    121
    Симпатии:
    19
    хм ввел , исправил betroff на betreff и всё стало на свои места.За исключением того, что phpmyadmin в структуре вместо русских знаков, иероглифы пишет...
     
  6. vaad2

    vaad2 Постоялец

    Регистр.:
    18 дек 2006
    Сообщения:
    60
    Симпатии:
    9
    <? $_POST['betreff']?> - быстрый вывод с включенной опцией в php.ini short_open_tag = On только скорее всего надо было <?=$_POST['betreff']?>,
    насчет языков - самый простой способ использовать UTF-8 кодировку в полях БД, либо разбираться с настройками MySQL(phpMyAdmin)
    насчет mysql - команд, лучше все-таки юзать mysqli - он с хранимками работает хоть нормально...

    кстати если локально юзаешь MySQL, то лучше что-нибудь более человечное использовать для работы с БД - NaviCat, например
     
  7. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    После соединения с базой впишите
    PHP:
    mysql_query('SET NAMES cp1251');
    ;)
     
  8. gasoj

    gasoj Писатель

    Регистр.:
    17 ноя 2007
    Сообщения:
    6
    Симпатии:
    1
    + за mysqli - он еще и бинарный протокол.
     
  9. usama

    usama Прохожие

    стоит уточнить версию пхп в пятерке много чего
     
  10. DuraLexSedLex

    DuraLexSedLex Постоялец

    Регистр.:
    8 дек 2007
    Сообщения:
    125
    Симпатии:
    7
    Автор какая версия пхп?
     
Статус темы:
Закрыта.