Проблема с Php

Статус
В этой теме нельзя размещать новые ответы.

Мо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:
 
Эту строку
PHP:
mysql_query($sql,$link);
замените на
PHP:
mysql_query($sql,$link) or exit(mysql_error());

И узнаете в чем ваша проблема.
 
Мо3Г
И ещё если вдруг кто знает зачем надо вставлять ньюанс типа value="<?php echo $_POST['absender'];?>"
Не нужен он там. Во-первых php в html файле не отработается (Если конечно не подшаманен htaccess или настройки сервера) - а выведет это обычным текстом.
Во-вторых это наверное отголоски планируемого вывода введённой инфы если заполненные данные в одном или нескольких полях не соответствуют требованиям (Ну тоесть программистом видимо планировалась проверка полей, и если какое-то поле заполнено неверно или не заполнено - выкидывало бы опять на форму, с заполненными полями уже) и сообщением, какое поле заполнено не верно...

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

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

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

И можно ещё сделать вот такое (В самом верху php файла:(
@ini_set('display_errors', 1 );
@ini_set('display_startup_errors', 1 );
@ini_set('error_reporting', E_ALL );


Это включит вывод всех ошибок и нотисов.
Если что-то выдаст - кидайте сюда - посмотрим...
 
А в пхпмайадмине на кнопочку 'Обзор' тыкнуть слабо?
 
Эту строку
PHP:
mysql_query($sql,$link);
замените на
PHP:
mysql_query($sql,$link) or exit(mysql_error());
И узнаете в чем ваша проблема.
хм ввел , исправил betroff на betreff и всё стало на свои места.За исключением того, что phpmyadmin в структуре вместо русских знаков, иероглифы пишет...
 
<? $_POST['betreff']?> - быстрый вывод с включенной опцией в php.ini short_open_tag = On только скорее всего надо было <?=$_POST['betreff']?>,
насчет языков - самый простой способ использовать UTF-8 кодировку в полях БД, либо разбираться с настройками MySQL(phpMyAdmin)
насчет mysql - команд, лучше все-таки юзать mysqli - он с хранимками работает хоть нормально...

кстати если локально юзаешь MySQL, то лучше что-нибудь более человечное использовать для работы с БД - NaviCat, например
 
хм ввел , исправил betroff на betreff и всё стало на свои места.За исключением того, что phpmyadmin в структуре вместо русских знаков, иероглифы пишет...

После соединения с базой впишите
PHP:
mysql_query('SET NAMES cp1251');
;)
 
+ за mysqli - он еще и бинарный протокол.
 
стоит уточнить версию пхп в пятерке много чего
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху