PHP.SU

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

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

> Найдено сообщений: 8
alex.pro100 Отправлено: 02 Марта, 2017 - 23:51:42 • Тема: Ошибка header в denwer • Форум: Напишите за меня, пожалуйста

Ответов: 1
Просмотров: 40
В общем, друзья, у меня, как всегда проблема и помочь мне решить ее можете только вы. Проблема состоит в сервере denwer, а точнее нескольких ошибках, вот они:

Cannot modify header information - headers already sent by
Cannot send session cookie - headers already sent by
Cannot send session cache limiter - headers already sent

А теперь о самой проблеме! На хостинге, где я полностью тестирую свои скрипты у меня работает все, как я того хочу, а вот denwer немного балуется. Я почитал о этих ошибках на других порталах, понял в чем проблема и даже знаю из-за чего они происходят, а вот как их исправить - не понимаю. У некоторых была проблема с .ini файлом и я хотел бы узнать где его найти или его тоже нужно написать? Это первый вопрос! Второй: Если его нужно написать, помогите ссылкой где находится содержимое этого файла, так как я пишу что-то типа своей системы управления веб-проектом. И это, пожалуй все! Заранее всем спасибо.
alex.pro100 Отправлено: 27 Февраля, 2017 - 09:49:21 • Тема: Нужна помощь по выводу неверного ввода данных при регистрации • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 84
Строитель пишет:
alex.pro100
Спойлер (Отобразить)

И вывод ошибок
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. if (isset($_SESSION['msg'])) {
  4.     echo join('<br />', $_SESSION['msg']);
  5.     unset($_SESSION['msg']);
  6. }
  7.  
  8.  

Не работает! Ошибки как и прежде выводятся по одному
(Добавление)
Вроде бы разобрался и все работает как нужно, но хотелось бы узнать правильно ли я сделал! Я, вместо elseif написал просто if и вот хочу узнать правильно ли я сделал?
alex.pro100 Отправлено: 26 Февраля, 2017 - 14:54:59 • Тема: Нужна помощь по выводу неверного ввода данных при регистрации • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 84
Строитель пишет:
alex.pro100, да, чуть позже, когда буду за компом, напишу пример.

Буду ждать, спасибо.=))
alex.pro100 Отправлено: 26 Февраля, 2017 - 14:51:01 • Тема: Нужна помощь по выводу неверного ввода данных при регистрации • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 84
Строитель пишет:
alex.pro100, создайте вместо этой переменной $_SESSION['msg'] массив $_SESSION['msg'][] , а в выводе обращайтесь к нему через функцию объединения элементов массива join($_SESSION['msg'])

Смешной вопрос, но не могли бы вы привести пример такого кода?=))
alex.pro100 Отправлено: 26 Февраля, 2017 - 14:25:13 • Тема: Нужна помощь по выводу неверного ввода данных при регистрации • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 84
Я уже задавал вопрос относительно своего скрипта на этой странице http://forum.php.su/topic.php?fo...0&topic=7041 и сейчас я снова буду задавать глупые вопросы. Вот я тут накидал несколько проверок, как посоветовал мне один из авторов в предыдущем моем вопросе. Вот код:
PHP:
скопировать код в буфер обмена
  1. include_once "cabinet/database.php";
  2. header ("content-type: text/html; charset=utf-8");
  3.  
  4. if (isset ($_SESSION['id'])) {
  5.         header ("location: cabinet/index.php");
  6. }
  7.  
  8. if (isset ($_POST['reg_ok'])) {
  9.     if ($_POST['password'] != $_POST['password_2']) {
  10.         $_SESSION['msg'] = "Пароли не совпали!";
  11.         }
  12.     else {
  13.         if ($_POST['name'] == '' || $_POST['mail'] == '' || $_POST['login'] == '' || $_POST['password'] == '') {
  14.             $_SESSION['msg'] = "Поля отмеченные * обязательны для заполнения!";
  15.                 }
  16.                 elseif (!preg_match("|^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST['mail'])) {
  17.             $e_m = $_SESSION['msg'] = "Вы допустили ошибку при заполнении поля e-mail!";
  18.         }
  19.                 elseif (strlen ($_POST['login']) < 3) {
  20.             $e_l = $_SESSION['msg'] = "Логин не может состоять менее чем из 3-х символов!";
  21.                 }
  22.                 elseif (mb_strlen ($_POST['password']) < 8) {
  23.                         $e_p = $_SESSION['msg'] = "Вы допустили ошибку при заполнении поля пароль!";
  24.                 }
  25.         else {
  26.             $mail = $_POST['mail'];
  27.             $login = $_POST['login'];
  28.             $sql_res = mysql_query ("SELECT id FROM cabinets WHERE login='$login' OR mail='$mail'") or die (mysql_error ());
  29.             if (mysql_num_rows ($sql_res) != 0) {
  30.                 $_SESSION['msg'] = "Пользователь с таким логином и/или почтой уже существует!";
  31.                         }
  32.             else {
  33.                 $name = $_POST['name']; $mail = $_POST['mail']; $login = $_POST['login']; $password = $_POST['password']; $ip = $_SERVER['REMOTE_ADDR'];
  34.                 mysql_query ("INSERT INTO cabinets SET name='$name',  mail='$mail', login='$login', password='$password', ip='$ip'");
  35.                 $id = mysql_insert_id ();
  36.                 $sql_res = mysql_query ("SELECT * FROM cabinets WHERE id=$id");
  37.                 $arr = mysql_fetch_assoc ($sql_res);
  38.                                 $_SESSION['id'] = $arr['id'];
  39.                 $id = $_SESSION['id'];
  40.                 $usr = mysql_fetch_assoc (mysql_query ("SELECT * FROM cabinets WHERE id=$id"));
  41.                 header ("location: cabinet/index.php");
  42.                                 exit;
  43.                         }
  44.                 }
  45.         }
  46. }

А ниже у меня есть разметка к этому скрипту, вот она:
CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4.         <title>Регистрация кабинета</title>
  5.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6.         <link rel="stylesheet" type="text/css" href="css/styl.css" />
  7. </head>
  8. <body>
  9.         <div id="login">
  10.                 <form action="" method="post">
  11.                         <h1>Регистрация кабинета</h1>
  12.                         <?php
  13.                         if (isset ($_SESSION['msg'])) {
  14.                                 echo $_SESSION['msg'];
  15.                                 unset ($_SESSION['msg']);
  16.                         }
  17.                         ?>
  18.                         <div class="name">Ваше имя</div>
  19.                         <input name="name" type="name" />
  20.                         <div class="name">Ваш e-mail</div>
  21.                         <input name="mail" type="text" />
  22.                         <div class="name">Ваш логин</div>
  23.                         <input name="login" type="name" />
  24.                         <div class="name">Придумайте пароль</div>
  25.                         <input name="password" type="password" />
  26.                         <div class="name">Повторите пароль</div>
  27.                         <input name="password_2" type="password" />
  28.                         <center><button name="reg_ok" type="submit">Зарегистрироваться</button></center>
  29.                 </form>
  30.         </div>
  31. </body>
  32. </html>

И вот, собственно сам вывод ошибок:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset ($_SESSION['msg'])) {
  3.         echo $_SESSION['msg'];
  4.         unset ($_SESSION['msg']);
  5. }
  6. ?>

Проблема в том, что данная конструкция проверяет и выводит только одну ошибку, даже если их три. Так вот как мне написать этот вывод ошибок в некий список? То есть, чтобы выводились сразу все ошибки.
alex.pro100 Отправлено: 19 Февраля, 2017 - 22:58:55 • Тема: Скрипт регистрации на PHP • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 67
Еще раз спасибо.=))
alex.pro100 Отправлено: 19 Февраля, 2017 - 22:09:08 • Тема: Скрипт регистрации на PHP • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 67
Друзья, спасибо за помощь!=))
И еще такой вопрос относительно этой темы:

PHP:
скопировать код в буфер обмена
  1. elseif (strlen($_POST['login']) <= 3) {
  2.             $_SESSION['msg'] = "Логин не может состоять из 3-х букв!";
  3.         }


Вот такой методикой, то есть через elseif можно добавлять проверку для всех полей через регулярные выражения?
alex.pro100 Отправлено: 19 Февраля, 2017 - 20:43:08 • Тема: Скрипт регистрации на PHP • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 67
Друзья программисты, у меня вот такая проблема: Я нашел в интернете скрипт регистрации и авторизации php - вот он:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include_once "cabinet/database.php";
  3. header ("content-type: text/html; charset=utf-8");
  4. if (isset ($_SESSION['id'])) {
  5.         header ("location: /cabinet/index.php");
  6. }
  7. if (isset ($_POST['reg_ok'])) {
  8.     if ($_POST['password'] != $_POST['password_2']) {
  9.                 $_SESSION['msg'] = "Пароли не совпали!";
  10.         }
  11.     else {
  12.         if ($_POST['name'] == '' || $_POST['mail'] == '' || $_POST['login'] == '' || $_POST['password'] == '') {
  13.             $_SESSION['msg'] = "Поля отмеченные * обязательны для заполнения!";
  14.                 }
  15.         else {
  16.             $mail = $_POST['mail'];
  17.             $login = $_POST['login'];
  18.             $sql_res = mysql_query ("SELECT id FROM cabinets WHERE login='$login' OR mail='$mail'") or die (mysql_error ());
  19.             if (mysql_num_rows ($sql_res) != 0) {
  20.                 $_SESSION['msg'] = "Пользователь с таким логином и/или почтой уже существует!";
  21.                         }
  22.             else {
  23.                 $name = $_POST['name'];
  24.                 $mail = $_POST['mail'];
  25.                 $login = $_POST['login'];
  26.                 $password = $_POST['password'];
  27.                 $ip = $_SERVER['REMOTE_ADDR'];
  28.                 mysql_query ("INSERT INTO cabinets SET name='$name', mail='$mail', login='$login', password='$password', ip='$ip'");
  29.  
  30.                 $id = mysql_insert_id ();
  31.                 $sql_res = mysql_query ("SELECT * FROM cabinets WHERE id=$id");
  32.                 $arr = mysql_fetch_assoc ($sql_res);                   
  33.                 $_SESSION['id'] = $arr['id'];
  34.                 $id = $_SESSION['id'];
  35.                 $usr = mysql_fetch_assoc (mysql_query ("SELECT * FROM cabinets WHERE id=$id"));
  36.                 header ("location: /cabinets/index.php");
  37.                                 exit;
  38.                         }
  39.                 }
  40.         }
  41. }
  42. ?>


И вот я хочу установить в нем проверку поля логин на количество введенных символов и установить минимальное количество для регистрации. Я перепробовал несколько вариантов и в итоге ничего. Помогите кто знает!

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB