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]   

> Без описания
nkl
Отправлено: 17 Января, 2012 - 21:02:25
Post Id



Посетитель


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


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




Предлагаю быструю тему вопрос-ответ

Обязательное условие - подробные комментарии по коду.

Первый вопрос:

Код:
PHP:
скопировать код в буфер обмена
  1.  
  2. <div id="regis">
  3. <?PHP
  4. //Начало сценария в середине
  5.  
  6. //если нажата кнопка Ok
  7. $next = $_POST['next'];
  8.  
  9. if ($next == 'Ok'){
  10. //Уничтожение переменных с невведеными данными
  11. if (isset($_POST['name'])) $name=$_POST['name']; if ($name=='') unset($name);
  12. if (isset($_POST['card'])) $card=$_POST['card']; //if ($card=='') unset($card);
  13. if (isset($_POST['login'])) $login=$_POST['login']; if ($login=='') unset($login);
  14. if (isset($_POST['pass'])) $pass=$_POST['pass']; if ($pass=='') unset($pass);
  15. if (isset($_POST['mail'])) $mail=$_POST['mail']; if ($mail=='') unset($mail);
  16. if (isset($_POST['adres'])) $adres=$_POST['adres']; if ($adres=='') unset($adres);
  17. if (isset($_POST['tel'])) $tel=$_POST['tel']; if ($tel=='') unset($tel);
  18.  
  19. //Если все обязательные переменные получен происходит запрос
  20. if (empty($name) and empty($login) and empty($pass) and empty($mail))
  21. //if (isset($name) and isset($login) and isset($pass) and isset($mail))
  22. {   $query="INSERT INTO users
  23.    SET name='$name',
  24.    card='$card',
  25.    login='$login',
  26.    pass='$pass',
  27.    mail='$mail',
  28.    adres='$adres',
  29.    tel='$tel'";
  30.     $sql=mysql_query($query,$db);
  31.     if (!$sql) {echo 'Ошибка при добавлении в базу';}
  32.     else 'Регистрация завершена, ваша карта будет активирована после модерации.<br /> Авторизуйтесь для входа';
  33.    
  34. }
  35. //если нет
  36. else
  37. {
  38. //Выводится форма  со значениями введенными во время предыдущей попытки
  39.         echo'<p style="alarm">Вы заполнили не все обязательные поля, попробуйте снова.</p>';
  40.    
  41. ?>
  42.  
  43. <!--Выводится форма регистрации-->
  44.     <form method="post">
  45.     <h4>Регистрация</h4>                                               
  46.         ФИО *<br /><input type="text" name="name" value="<?PHP echo $_POST['name']; ?>" /><br />                                
  47.         Номер дисконтной карты<br /><input type="text" name="card" />    <!--                                                          
  48.         sale<br /><input type="text" name="name" />    -->
  49.     <small>
  50.     Вы можете зарегистрироваться, не имея дисконтной карты и получать скидки, накапливая дисконт в нашем интернет-магазине.
  51.     </small>    Логин *<br /><input type="text" name="login" /><br />                                                          
  52.     Пароль *<br /><input type="text" name="pass" />    e-mail *<br /><input type="text" name="mail" /><br />                                                           
  53.     Адрес<br /><input type="text" name="adres" />    Телефон<br /><input type="text" name="tel" />    <br /><input type="submit" name="next" value="Ok"/>
  54.     [* ]Согласна с пользовательским соглашением.
  55.     </form>
  56.     </div>
  57. <?PHP
  58. //Закрываются условия
  59. }
  60.  }
  61. ?>
  62.  
  63. Результат:



Что не так??
 
 Top
Okula
Отправлено: 17 Января, 2012 - 21:09:41
Post Id



Участник


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


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




nkl, это тебя нужно спросить "что не так"? Какую ошибку выдаёт скрипт?
 
 Top
nkl
Отправлено: 17 Января, 2012 - 21:17:17
Post Id



Посетитель


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


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




у меня в включен показ ошибок
error_reporting('E_ALL');
ini_set('display_errors', 1);

стоит в самом начале основго скрипта, а тот код, котрый в первом в посте приводится, инклудится в основной. И в место результата его работы - пустое место. Если убрать его страница работает норм.

(Отредактировано автором: 17 Января, 2012 - 21:19:48)

 
 Top
Okula
Отправлено: 17 Января, 2012 - 21:26:59
Post Id



Участник


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


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




Вопервых - пишется
error_reporting(E_ALL);
E_ALL без ковычек, это константа.
 
 Top
nkl
Отправлено: 17 Января, 2012 - 21:34:32
Post Id



Посетитель


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


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




Notice: Undefined index: next in /var/www/emma/data/www/***/b/regis.php on line 3

(Отредактировано автором: 17 Января, 2012 - 21:35:25)

 
 Top
Okula
Отправлено: 17 Января, 2012 - 21:40:58
Post Id



Участник


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


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




Ты не проверяешь пустое ли значение у переменной $_POST['next']; было ли оно вообще передано. Если кнопка не нажата то значение будет иметь NULL
Кстати, твоя запись $next = $_POST['next']; равносильна тому что ты просто передашь в условие $_POST['next'] вместо $next
 
 Top
nkl
Отправлено: 18 Января, 2012 - 19:13:43
Post Id



Посетитель


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


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




Так в чем же все таки соль??? Я уже 2 дня бьюсь над этим условием и isset() и empty(), бесполезно, сейчас к примеру вот этот код стоит
PHP:
скопировать код в буфер обмена
  1. <div id="regis">
  2. <?PHP
  3.  
  4. if (!empty($_POST['next'])){
  5. if (isset($_POST['name'])) $name=$_POST['name']; if ($name=='') unset($name);
  6. if (isset($_POST['card'])) $card=$_POST['card']; //if ($card=='') unset($card);
  7. if (isset($_POST['login'])) $login=$_POST['login']; if ($login=='') unset($login);
  8. if (isset($_POST['pass'])) $pass=$_POST['pass']; if ($pass=='') unset($pass);
  9. if (isset($_POST['mail'])) $mail=$_POST['mail']; if ($mail=='') unset($mail);
  10. if (isset($_POST['adres'])) $adres=$_POST['adres']; if ($adres=='') unset($adres);
  11. if (isset($_POST['tel'])) $tel=$_POST['tel']; if ($tel=='') unset($tel);
  12.  
  13. //if (empty($name) and empty($login) and empty($pass) and empty($mail))
  14. if (!empty($name) and !empty($login) and !empty($pass) and !empty($mail))
  15. //if (isset($name) and isset($login) and isset($pass) and isset($mail))
  16. {
  17.     $query="INSERT INTO users
  18.    SET name='$name',
  19.    card='$card',
  20.    login='$login',
  21.    pass='$pass',
  22.    mail='$mail',
  23.    adres='$adres',
  24.    tel='$tel'";
  25.     $sql=mysql_query($query,$db);
  26.     if (!$sql) {echo 'Ошибка при добавлении в базу';}
  27.     else 'Регистрация завершена, ваша карта будет активирована после модерации.<br /> Авторизуйтесь для входа';
  28.    
  29. }
  30. else
  31. {
  32.         echo '<p style="alarm">Вы заполнили не все обязательные поля, попробуйте снова.</p>';
  33.    
  34. ?>
  35.  
  36.  
  37.     <form method="post">
  38.     <h4>Регистрация</h4>                                               
  39.         ФИО *<br /><input type="text" name="name" value="<?PHP echo $name; ?>" /><br />                                
  40.         Номер дисконтной карты<br /><input type="text" name="card" />    <!--                                                          
  41.         sale<br /><input type="text" name="name" />    -->
  42.     <small>
  43.     Вы можете зарегистрироваться, не имея дисконтной карты и получать скидки, накапливая дисконт в нашем интернет-магазине.
  44.     </small>    Логин *<br /><input type="text" name="login" value="<?PHP echo $login; ?>"/><br />                                                             
  45.     Пароль *<br /><input type="text" name="pass"/>    e-mail *<br /><input type="text" name="mail" value="<?PHP echo $mail; ?>" /><br />                                                               
  46.     Адрес<br /><input type="text" name="adres" value="<?PHP echo $adres; ?>" />    Телефон<br /><input type="text" name="tel" value="<?PHP echo $tel; ?>" />    <br /><input type="submit" name="next" value="Ok"/>
  47.     [* ]Согласна с пользовательским соглашением.
  48.     </form>
  49.     </div>
  50. <?PHP
  51. }
  52.  }
  53. ?>

и он тупо мне пустое место выдает в место формы регистрации выдает пустое место, даже ошибок никаких не выдает
 
 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