@bakhritdinov_b

PHP скрипт, решения задачи?

Помогите решить задачу, использую это форму надо добавить данный на базу, по выбранным параметрам на php
<script src="js/signup.js"> </script>


 <form  action="order.php"  id="orderPage" method="post">
<table width="80%" cellspacing="7" cellpadding="0" border="0" align="center">
   <tbody>
   
    <tr>
	<td style="padding: 0px;">
     <input type="hidden"  name="order_users"  value="<?=$order_users["name"];?>">
    </td><td>
   </td></tr>
    <tr>
    <td style="padding: 0px;">
     <input type="hidden"  name="order_status"  value="<?=$order_status = "send";?>">
    </td><td>
   </td></tr>

   <?=$friends?>
   <tr>
    <td class="ta_r">
     <span class="grey"><?=$language['order_fname'];?>:</span>
    </td>
    <td style="padding: 0px;">
     <input type="text" style="margin: 0px;" size="50"  name="order_fname" class="inputText" value="">
    </td><td>
   </td></tr>
   
   <tr>
    <td class="ta_r">
     <span class="grey"><?=$language['order_cat'];?>:</span>
    </td>
    <td style="padding: 0px;">
      <select size="2" name="order_cat" style="width:20%;">
					<option value="cat_films" selected="selected">Фильмы
                    <option value="cat_serials">Сериалы
            </select>
    </td><td>
   </td></tr>
   
   <tr>
    <td class="ta_r">
     <span class="grey"><?=$language['order_date'];?>:</span>
    </td>
    <td style="padding: 0px;">
     <input type="date" style="margin: 0px;" size="25"  name="order_date" class="inputText" value="">
    </td>
   </tr>
   
    <tr>
    <td class="ta_r">
     <span class="grey"><?=$language['order_formate'];?>:</span>
    </td>
    <td style="padding: 0px;">
      <select size="4" name="order_formate" style="width:20%;">
					<option value="order_320p" selected="selected">320p
                    <option value="order_720p">720p
                    <option value="order_1024p">1024p
                    <option value="order_hd">Full HD
            </select>
    </td><td>
   </td></tr>
   
   
   
    <tr>
    <td class="ta_r">
     <span class="grey"><?=$language['order_about'];?>:</span>
    </td>
    <td style="padding: 0px;">
     <textarea cols="50" rows="9" name="order_about" value=""></textarea>
    </td>
   </tr>
   

   <tr>
    <td>
     &nbsp;
    </td>
    <td>
<div style="height: 20px; margin: 5px 0px;">
	<input style="background-color: #FF0000;" type="submit" value="<?=$language['order_send'];?>" >
</div>

    </td>
   </tr>
  

  </tbody></table>

  </form>

Задача:

Проверить $order_fname и $order_about на корректность и добавить в базу.

<?
//Подключаем главный системный файл
require 'system/init.php';
//Заголовок
head("Стол заказов");
begin_frame();
msg("Заполните форму для заказа фильмов");

//Проверка авторизации
is_login();
//Определяем номер пользователя
$id = (int)$_GET['id'];

//Выполняем запрос к базе данных
$select_user = $db->query("SELECT name FROM users WHERE id='".$db->safesql($id)."'");		
$order_users = mysql_fetch_array($select_user);
	
	
	
/////////////////////////////////////////////////////////////////////
//Обработка данных
/////////////////////////////////////////////////////////////////////

if(isset($_POST['submit']))
{
	$err = array();
	
	/*Проверяем мин и макс символов название фильма*/
    if(strlen($_POST['order_fname']) < 3 or strlen($_POST['order_fname']) > 50)
    {
        $err[] = "Название фильма должен быть не меньше 3-х символов и не больше 50";
    }
	/*Проверяем мин и макс символов описание фильма*/
    if(strlen($_POST['order_about']) < 6 or strlen($_POST['order_about']) > 150)
    {
        $err[] = "Описание фильма должен быть не меньше 6-х символов и не больше 150";
    }

	
    # проверяем, не сущестует ли фильм с таким именем    
	$dbquery = $db->query("SELECT COUNT(id) FROM order WHERE fname='".mysqli_real_escape_string($_POST['order_fname'])."'");
    if(mysqli_num_rows($dbquery) > 0)
    {
        $err[] = "Уже заказали данной фильм, ждите одобрения администратора сайта.";
    }

    # Если нет ошибок, то добавляем в БД нового заявку
    if(count($err) == 0)
    {        
		$order_users  = trim($_POST['order_users']); //Пользователи
		$order_status  = trim($_POST['order_status']); // Статус заявки
		$order_fname  = trim($_POST['order_fname']); //Название фильма
		$order_cat  = trim($_POST['order_cat']); // Каталог
                $cat_films  = trim($_POST['cat_films']); // Каталог фильмов		
                $cat_serials  = trim($_POST['cat_serials']); // Каталог сериалов		
		$order_date  = trim($_POST['order_date']); // Год выпуска
		$order_formate  = trim($_POST['order_formate']); // Формат, качество фильма
                $order_320p  = trim($_POST['order_320p']); // Формат, качество фильма
                $order_720p  = trim($_POST['order_720p']); // Формат, качество фильма
                $order_1024p  = trim($_POST['order_1024p']); // Формат, качество фильма
                $order_hd  = trim($_POST['order_hd']); // Формат, качество фильма
		$order_about  = trim($_POST['order_about']); // Отзывы о фильм
			
	   $db->query("INSERT INTO order (users , status , fname , cat , date , formate, about) VALUES ('".$db->safesql($order_users)."' , '".$db->safesql($order_status)."' , '".$db->safesql($order_fname)."' , '".$db->safesql($order_cat)."', '".$db->safesql($order_date)."', '".$db->safesql($order_formate)."', '".$db->safesql($order_about)."'" );
	   echo "<p>Заявка успешно отправлен на обработку<br/></p>";
	   header("Location: index.php"); exit();
    }
    else
    {
        print "<b>При отправке заявку произошли следующие ошибки:</b><br>";
        foreach($err AS $error)
        {
            print $error."<br>";
        }
    }
}
?>
  • Вопрос задан
  • 980 просмотров
Решения вопроса 1
@bakhritdinov_b Автор вопроса
Решил задачу самостоятельно, глобальная переменна $USER хранил все сессий пользователя и причина отправка запроса без результата был условиях
if(isset($_POST['submit']))
Я поменял на
$if($_POST){
и здесь реализовал задачу + добавил уведомления по ЛС и электронной почте после обработки заявка.
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
MetaDone
@MetaDone
Хорошо сформулированный вопрос - 50% решения
узнаю почерк говнокодера
сразу видно, у какого "мастера" учились
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы