Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: неправильно помогите ааа

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Каролина
Отправлено: 27 Апреля, 2012 - 19:37:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 241
Дата рег-ции: Дек. 2011  
Откуда: от верблюдика


Помог: 0 раз(а)

[+][+]


что тут не правильно
PHP:
скопировать код в буфер обмена
  1. <?
  2. $link = mysql_connect('localhost','karolina','1234') or die ("error" .mysql_error());
  3. mysql_select_db('karolina', $link) or die ("error" .mysql_error());
  4. mysql_query("SELECT * FROM `table` ORDER BY data DESC");
  5. ?>
  6. <form method="post">
  7. Имя<input type="text" name="name">
  8. Ник<input type="text" name="nik">
  9. Текст сообщения<input type="text" name="text">
  10. </form>
  11. <?
  12. $name=$_POST['name'];
  13. $nik=$_POST['nik'];
  14. $text=$_POST['text'];
  15. $link = mysql_connect('localhost','karolina','1234') or die ("error" .mysql_error());
  16. mysql_select_db('karolina', $link) or die ("error" .mysql_error());
  17. $sql = "INSERT INTO `table`(`name`, `nik`, `text`) ";
  18. $sql .=  " values('". $name ."', '". $nik ."', '". $text ."')";
  19. if(count($_POST) && ($name=="" || $nik=="" || $text==""));
  20. {
  21. echo"необходимо заполнить все поля";
  22. }
  23. else
  24. echo"сообщение добавлено";
  25. mysql_query($sql);
  26.  
  27. ?>


Отредактировано модератором: Мелкий, 27 Апреля, 2012 - 19:40:46
 
 Top
Мелкий Супермодератор
Отправлено: 27 Апреля, 2012 - 19:43:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Неправильно помочь? rm -rf /* подсказать, что ль? Однако

Каролина пишет:
что тут не правильно

Синтаксис. Нафига вам программирование, если вы за 5 месяцев не освоили даже базовый синтаксис конструкций?


-----
PostgreSQL DBA
 
 Top
Каролина
Отправлено: 27 Апреля, 2012 - 19:45:34
Post Id



Частый гость


Покинул форум
Сообщений всего: 241
Дата рег-ции: Дек. 2011  
Откуда: от верблюдика


Помог: 0 раз(а)

[+][+]


а что там такое неправильное в синтаксе
 
 Top
Alho
Отправлено: 27 Апреля, 2012 - 22:49:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




 
 Top
Striker
Отправлено: 27 Апреля, 2012 - 23:31:20
Post Id



Частый гость


Покинул форум
Сообщений всего: 128
Дата рег-ции: Июль 2011  
Откуда: Киев


Помог: 1 раз(а)

[+]


Каролина
Переменную $link ты уже объявила во второй строке, зачем опять ее объявлять в 15 строке?
Тоже самое касается и выбора базы данных. Ты ее уже выбрала в 3 строчке.

CODE (htmlphp):
скопировать код в буфер обмена
  1. mysql_query("SELECT * FROM `table` ORDER BY data DESC");

Это тоже не в тему. Ошибкой не является, но этот запрос лишний, вообще удали его.

У тебя переменные
$name, $nik, $text передаются напрямую используя register_globals - так делать не рекомендуется. Вообще учись с выключенной директивой register_globals.

Как вариант:
CODE (htmlphp):
скопировать код в буфер обмена
  1. if(isset($_POST['name']))
  2. {
  3. $name=$_POST['name'];
  4. }


Цитата:
$sql = "INSERT INTO `table`(`name`, `nik`, `text`) ";

$sql .= " values('". $name ."', '". $nik ."', '". $text ."')";

Правильно будет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $sql = mysql_query("INSERT INTO table (name, nik, text) VALUES ('$name',' $nik','$text')");


Цитата:
if(count($_POST) && ($name=="" || $nik=="" || $text==""));

Причем тут count - не понял. Хочешь проверить не пустые ли переменные, напиши просто:
CODE (htmlphp):
скопировать код в буфер обмена
  1. if(empty($name) || empty($nik) || empty($text))
  2. {
  3. echo "<p>Заполните все поля!</p>";
  4. }
  5. else
  6. {
  7. //что там надо сделать...
  8. }
  9.  
  10.  


Цитата:
<form method="post">

А да, и в форме файл-обработчик укажи. Атрибут action. Например

CODE (htmlphp):
скопировать код в буфер обмена
  1. <form method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
или
CODE (htmlphp):
скопировать код в буфер обмена
  1. <form method="post" action="file_name.php">



Цитата:
or die ("error" .mysql_error());

Здесь слово "error" можешь убрать. Оно не к чему. Если возникнет ошибка, тебе и так выведет error и т.д. Пишешь просто

(Отредактировано автором: 27 Апреля, 2012 - 23:55:08)

 
 Top
avtor.fox
Отправлено: 28 Апреля, 2012 - 08:10:22
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)





Данила О.о


Отредактировано модератором: Мелкий, 28 Апреля, 2012 - 09:28:37
Замечу, что за регулярный флуд могу и предупреждение влепить.
Нет, это не он. Это ещё круче.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB