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]   

> Описание: Интегрирование проверку на вводимые символы
Нордик
Отправлено: 07 Июня, 2018 - 02:46:18
Post Id


Новичок


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


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




Доброго времени суток, ситуация такая. Нужно было сделать проверку на вводимые символы, нашёл вроде рабочий код. Нужно интегрировать эту проверку в код. Пробовал но что-то не то делаю то код просто выводится на экран то ещё что. Очень прошу кто шарит помогите.
Вот проверка:
PHP:
скопировать код в буфер обмена
  1.     $pattern_name = '/^[a-zA-Zа-яА-ЯЁё]{1,32}$/u';
  2.     $pattern_index = '/^[0-9]{6}$/u';
  3.     $pattern_email = '/^[\w\.\-]+\@+[a-z]+\.+[a-z]{1,5}$/';
  4.     $pattern_addres = '/^[a-zA-Zа-яА-ЯЁё0-9\s\.]{1,100}$/u';// \s - пробел, точка
  5.     if (!empty($_POST['first_name'])){
  6.         if(!preg_match($pattern_name, $_POST['first_name'])){
  7.             echo "INVALID FNAME<br>";
  8.         }
  9.         $f_name = $_POST['first_name'];
  10.     }
  11.     if (!empty($_POST['last_name'])){
  12.         if(!preg_match($pattern_name, $_POST['last_name'])){
  13.             echo "INVALID LNAME<br>";
  14.         }
  15.         $l_name = $_POST['last_name'];
  16.     }
  17.     if (!empty($_POST['index'])){
  18.         if(!preg_match($pattern_index, $_POST['index'])){
  19.             echo "INVALID INDEX<br>";
  20.         }
  21.         $index = $_POST['index'];
  22.     }if (!empty($_POST['addres'])){
  23.         if(!preg_match($pattern_addres, $_POST['addres'])){
  24.             echo "INVALID ADDRES<br>";
  25.         }
  26.         $addres = $_POST['addres'];
  27.     }if (!empty($_POST['email'])){
  28.         if(!preg_match($pattern_email, $_POST['email'])){
  29.             echo "INVALID EMAIL<br>";
  30.         }
  31.         $email = $_POST['email'];
  32.     }
  33.     if(isset($f_name)){echo $f_name."<br>";}
  34.     if(isset($l_name)){echo $l_name."<br>";}
  35.     if(isset($index)){echo $index."<br>";}
  36.     if(isset($addres)){echo $addres."<br>";}
  37.     if(isset($email)){echo $email."<br>";}

Вот кусок кода куда нужна проверка проверка:
PHP:
скопировать код в буфер обмена
  1. Ваше Имя:      <input type="text" name="name" />     Ваша Фамилия:      <input type="text" name="s_name" />     Ваш адрес:      <input type="text" name="address" />     Почтовый индекс:      <input type="text" name="post_index" />     Ваш e-mail:      <input type="text" name="email" />     </p>

Всё что вводится в эти поля отправляется в бд.
Вот полный код куда нужно интегрировать проверку:
PHP:
скопировать код в буфер обмена
  1. <h2 align="center">Оформление заказа</h2>
  2.  
  3. <?
  4. if($_SESSION['cart'] && !isset($_POST['order']))
  5. {
  6. ?>
  7. <form action="index.php?view=order" method="post" id="cart-form">
  8.  
  9. <table id="mycart" align="center" cellspacing="0" cellpadding="0" border="0">
  10.       <tr>
  11.             <th>Товар</th>
  12.             <th>Цена</th>
  13.             <th>Кол-во</th>
  14.             <th>Всего</th>
  15.       </tr>
  16.  
  17.       <? foreach($_SESSION['cart'] as $id => $quantity):
  18.          $product = get_product($id);
  19.       ?>
  20.        
  21.       <tr>
  22.           <td align="center"><?=$product['title'];?></td>
  23.           <td align="center">$<?=number_format($product['price'],2);?></td>
  24.           <td align="center"><?=$quantity;?></td>
  25.           <td align="center">$<?=number_format($product['price'] * $quantity ,2);?></td>
  26.       </tr>
  27.      
  28.       <?endforeach;?>
  29.      
  30. </table>  
  31.      <p class="total" align="center">Общая сумма заказа: <span class="product-price"><?=number_format($_SESSION['total_price'],2);?> $</span></p>
  32.    
  33.      <p align="center" style="color:  black;">
  34.    
  35. Ваше Имя:      <input type="text" name="name" />     Ваша Фамилия:      <input type="text" name="s_name" />     Ваш адрес:      <input type="text" name="address" />     Почтовый индекс:      <input type="text" name="post_index" />     Ваш e-mail:      <input type="text" name="email" />     </p>
  36.    
  37.    
  38.      <p align="center"><input type="submit" name="order" value="Заказать" /></p>  
  39. </form>
  40.  
  41. <?
  42. }
  43. if($_SESSION['cart'] && isset($_POST['order']))
  44. {
  45.     foreach($_POST as $ArrKey => $ArrStr)
  46.     {
  47.         $ArrKey = $_POST[$ArrKey];
  48.     }
  49.     $date = date('Y-m-d');
  50.     $time = date('H:i:s');
  51.    
  52.     foreach($_SESSION['cart'] as $id => $quantity):
  53.     $product = get_product($id);
  54.         $query = mysql_query("INSERT INTO orders(name,s_name,address,post_index,email,date,time,product,prod_id,price,qty) VALUES ('$name','$s_name','$address','$post_index','$email','$date','$time','{$product['title']}','{$product['id']}','{$product['price']}','$quantity')");
  55.     endforeach;
  56.    
  57.     echo "<p align='center' style='color: #black;'>Ваш заказ успешно принят! Спасибо за покупку!</p>";
  58. }
  59. ?>  
  60.  
 
 Top
Vladimir Kheifets
Отправлено: 07 Июня, 2018 - 07:59:04
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Нордик пишет:
Доброго времени суток, ситуация такая. Нужно было сделать проверку на вводимые символы, нашёл вроде рабочий код. Нужно интегрировать эту проверку в код. Пробовал но что-то не то делаю то код просто выводится на экран то ещё что. Очень прошу кто шарит помогите.
Вот проверка:
Спойлер (Отобразить)

Вот кусок кода куда нужна проверка проверка:
Спойлер (Отобразить)

Всё что вводится в эти поля отправляется в бд.
Вот полный код куда нужно интегрировать проверку:
Спойлер (Отобразить)

Доброе утро!
1. Проверка должна вставляться не там, где Вы показали, а после Submit формуляра.
2. Логику нужно менять:
Спойлер (Отобразить)

3.Убедитесь в том, что session_id передаётся через cookies или через $_POST, если нет, то добавьте $sid=session_id();
и измените action="index.php?view=order&sid=<?$sid?>"

Удачи!
 
 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