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]   

> Без описания
NewsForUs
Отправлено: 18 Июня, 2013 - 22:57:07
Post Id


Новичок


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


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




Ребята пишу код бистрих закладок есть дб и 4 колонки name, image, date, short,
на тсранице bm.php находитса и форма отправки в базу информации а ниже виводит ее
все работало но возникла одна проблемо когда просто перезагружать страницу bm.php то в базу заносятса бустиє троки без потверждения кнопкой субмит.
вот код:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. /*
  4. =====================================================
  5. имя мода
  6. =====================================================
  7. Данный код защищен авторскими правами
  8. =====================================================
  9. Файл:  mod.php
  10. ----------------------------------------------------------
  11. Назначение:  мой мод
  12. =====================================================
  13. */
  14. // Соединиться с сервером БД
  15.         mysql_connect("localhost", "root", "") or die (mysql_error ());
  16.  
  17.  
  18.         // Выбрать БД
  19.         mysql_select_db("dle") or die(mysql_error());
  20.  
  21. // SQL-запрос
  22.         $strSQL = "SELECT * FROM dle_bm";
  23.  
  24.         // Выполнить запрос (набор данных $rs содержит результат)
  25.         $rs = mysql_query($strSQL);
  26.        
  27. $strSQL = "INSERT INTO dle_bm(Name,Image,date,Short) VALUES('" . $_POST["Name"] . "','" . $_POST["Image"] . "','" . $_POST["date"] . "','" . $_POST["Short"] . "')";
  28.  
  29.         mysql_query($strSQL) or die(mysql_error());
  30. // Закрытие соединения
  31.         mysql_close();
  32. /* Подгружаем шаблон */
  33.      $tpl->load_template('add_bm.tpl');
  34.      $tpl->compile('content');
  35.      $tpl->clear();
  36.  
  37.         // Цикл по recordset $rs
  38.         // Каждый ряд становится массивом ($row) с помощью функции mysql_fetch_array
  39.         while($row = mysql_fetch_array($rs)) {
  40.  
  41. $name        =  $row['Name']  ;
  42. $date = $row['date'];
  43. $image    = $row['Image'];
  44.  
  45.   /* Подгружаем шаблон */
  46.      $tpl->load_template('bm.tpl');
  47.      $tpl->set('{bm_name}',        $name);
  48.      $tpl->set('{bm_date}', $date);
  49.      $tpl->set('{bm_imagehref}',    $image);
  50.      $tpl->compile('content');
  51.      $tpl->clear();
  52.  
  53. // Закрыть соединение с БД
  54.         mysql_close(); 
  55. }
  56. ?>
  57.  

а ето сама форма отправки
CODE (html):
скопировать код в буфер обмена
  1. <form  method="post">
  2.         <input type="text" name="Name" />
  3.     <input type="text" name="Image" />
  4.     <input type="text" name="date" />
  5.     <input type="text" name="Short" />
  6.         <input type="submit" value="Save" />
  7.  
  8. </form>

и таблица вивода правда 4 колонку не дописал еще.
CODE (html):
скопировать код в буфер обмена
  1. |{bm_name}|{bm_date}|{bm_imagehref}|

Помогите пожалуйста ато только первий день учу php.
 
 Top
MADONZY
Отправлено: 19 Июня, 2013 - 02:44:45
Post Id


Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Июнь 2013  


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




Во-первых у твоей формы нет экшена Улыбка
А далее смотри так: перед комментом "// SQL-запрос" сделай такой условный оператор:
PHP:
скопировать код в буфер обмена
  1.  
  2. if($_SERVER['REQUEST_METHOD'] == 'POST') {
  3.    тут твои запросы и т.д..
  4.    и в самом низу выводи: header("Location: ".$_SERVER['PHP_SELF']);
  5. } else
  6.    header("Location: bm.php");


таким образом ты избавишься от поста после добавления в базу Улыбка Но учти!! перед header() не должно выть выводов!
также при желании (не обязательно) добавь в запрос условного оператора:
&& isset($_POST['submit']) (но для этого задай кнопке в своей форме атрибут name="submit"
И совет тебе на будущее - не ставь напрямую $_POST[] и $_GET[] всегда обрабатывай Улыбка

(Отредактировано автором: 19 Июня, 2013 - 03:01:43)

 
 Top
NewsForUs
Отправлено: 19 Июня, 2013 - 12:26:46
Post Id


Новичок


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


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




Екшин бил сначала но можно его зделать его на страницу bm.php?
 
 Top
MADONZY
Отправлено: 19 Июня, 2013 - 13:34:04
Post Id


Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Июнь 2013  


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




NewsForUs пишет:
Екшин бил сначала но можно его зделать его на страницу bm.php?

Конечно, в твоём случае только так и нужно Улыбка У тебя же обработчик - сторонный файл Улыбка
 
 Top
NewsForUs
Отправлено: 19 Июня, 2013 - 16:06:18
Post Id


Новичок


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


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




Спасибо уже всьо исправил тебер роботает нормально) но ето первий мой скрипт поетому проблема не только в форме отправки но понемножку решаю Радость
 
 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