Php вывести ошибку в div

Есть много различных методов (два по крайней мере точно есть =) ). Первый заключается в банальном выводе HTML-кода в блок, который нужно заполнить. Например:

<div>
<?php echo('text')?>
</div>

Второй способ одновременно и удобный и «нубский», но тем не менее его все часто используют, включая меня). Способ заключается в выводе JavaScript кода в любую точку страницы. Далее обо всем позаботится яваскрипт:

Где-то на странице:

<?php
$text = "<b>BOB</b>";
echo("<script>$('#somediv').html('$text')</script>");
?>

«Нубство» данного способа заключается в том, что JavaScript получается разбросанным по всей странице, что ни есть хорошо. Из этого следует, что где-то внизу страницы нужно выделить отдельную секцию, блок для подобных вставок явасрипта.

I know this question may sound stupid, but i need your help. My question is i want to print out this «error» message inside form instead printed out outside form. Currently the «error» message printed out on top of .

Code as below:

Process:

    if(!$name || !$email || !$comment){

//if not display an error message

echo "<center>All fields are required</center>";
}
else
{

mysql_select_db($database_connection, $connection);

$insert_query = sprintf("INSERT INTO contacts (name, email, comment, date, ip) VALUES (%s, %s, %s, NOW(), %s)",
                        sanitize($name, "text"),
                        sanitize($email, "text"),
                        sanitize($comment, "text"),
                        sanitize($ip, "text"));

$result = mysql_query($insert_query, $connection) or die(mysql_error());
}

Form:

<form id="contact" name="contact" action="index.php" method="post">

<fieldset>
               <li><input class="rounded" type="text" name="name" id="name" placeholder="Your Name" required />
                </li>
                <li>
                    <input class="rounded" type="text" name="email" id="email" placeholder="Your Email" required />
                </li>
                <li>
                    <textarea class="rounded" name="comment" id="comment" cols="35" rows="6" placeholder="Your Message" required ></textarea>
                </li>
                <input type="hidden" id="action" name="action" value="submitform" />
                <li>
                <input id="submit" name="submit" type="submit" value="Send" class="submitform" />
                </li>
</fieldset>
</form>

Any help would much appreciated!

Kassia

4 / 1 / 0

Регистрация: 25.11.2012

Сообщений: 108

1

Вывод ошибок в форму

16.10.2013, 22:05. Показов 7433. Ответов 4

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Ребят подскажите. Нужно вывести ошибки на форму регистрации чтобы они не выводили в отдельную страницу. Как это сделать. Вот у меня файл reg.php с формой регистрации:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 <form method="POST" action="save_user.php">
        <div class="user2-log-text">Your login:</div>
    <input type="text"  name="login"  value="" ></div>
 
             <div class="user2-name-text">Your name:</div>
                     <input type="text"  name="username"  value=""></div>
 
           <div class="user2-pass-text">Your password:</div>
            <input type="password"  name="password"  value=""></div>
 
           <div class="user2-passw-text">Repeat password:</div>
          <input type="password" name="password_2" value=""></div>
 
      <button type="submit" class="btn-reg">Enter</button>
        </div>
 
            <div id="error"></div>  Вот сюда хотела выводить ошибки если они возникают
 
              </form>

Вот файл save_user.php который регистрирует пользователя и выводит ошибку

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
    include ("bd.php");
 
      if($password == $password_2)  {
    $result2 = mysql_query("INSERT INTO users (login, password, username, sex, country) VALUES('$login','$password','$username','$sex','$country')");
      }
 
else {
            echo "Oshibka.";
                 }
               if ($result2=='TRUE') {
                         header ("location:index.php");
                 }
             ?>

Ошибки выводят в отдельную страницу. как сделать чтоб выводились в error???



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

16.10.2013, 22:05

Ответы с готовыми решениями:

Вывод ошибок в phpStorm
Здравствуйте,

Подскажите как настроить локальный сервер MAMP, чтобы он показывал ошибки в php…

Вывод данных из профиля в форму
Очередной геморрой, нужно вывести данные НЕ определено пользователя, то есть ты зашел под логином:…

Вывод ошибок
Использую структуру MVC, интересует как лучше реализовать вывод ошибок для пользователя. Допустим…

Вывод ошибок
Здравствуйте. Меня интересует такой вопрос. Идет условие, проверка пароля
if…

4

pavlinmavlin

разработчик

258 / 48 / 22

Регистрация: 24.07.2012

Сообщений: 219

Записей в блоге: 17

17.10.2013, 06:38

2

опустошаем значение атрибута action

HTML5
1
<form method="POST" action="">

подключаем файл со скриптом регистрации в блок с ошибкой

PHP
1
 <div class='error'> <? require_once('save_user.php'); ?> </div>

Добавляем к скрипту проверку на существование переменной $_POST

PHP
1
2
3
4
5
6
7
 
if(!isset($_POST)) // нету запроса - POST существовать не будет
{ }
else 
{ 
 // код запроса
}



0



4 / 1 / 0

Регистрация: 25.11.2012

Сообщений: 108

17.10.2013, 09:42

 [ТС]

3

НЕ поняла. Если опустошу action как у меня данные будут туда заноситься при регистрации из формы. и мне же надо указывать ошибку в файле save_user.php а не в reg.php или я чего то не пониаю???



0



разработчик

258 / 48 / 22

Регистрация: 24.07.2012

Сообщений: 219

Записей в блоге: 17

17.10.2013, 09:52

4

При пустом action запрос пойдет на текущую страницу. В блок error вы подключите файл save_user.php , т.е. сам скрипт. То есть скрипт у вас будет на текущей странице, запрос пойдет на текущую страницу, скрипт выполнится и выдаст ошибку, или перекинет туда куда там написано.



1



Kassia

4 / 1 / 0

Регистрация: 25.11.2012

Сообщений: 108

17.10.2013, 19:47

 [ТС]

5

Спасибо) А подскажите еще заодно как вывести имя пользователя после авторизации.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
               <?php
        include ("bd.php");
       if (isset($_POST['enter'])) {
            $e_login = $_POST['e_login'];
            $e_password = $_POST['e_password'];
 
            $query = mysql_query("SELECT * FROM users WHERE login='$e_login'");
            $user_data= mysql_fetch_array($query);
 
             if ($user_data['password'] == $e_password) {
                     echo "OK";
             }
             else {
                     echo "Wrong password or login";
             }                   }
 
 
         ?>

Логин вывести на форму и имя (хранится в пермеенной username).Пожалуйста)))



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

17.10.2013, 19:47

Помогаю со студенческими работами здесь

вывод ошибок
Здравствуте, помогите с заданием:
В случае возникновения ошибок должно быть выведено сообщение: …

Вывод ошибок
Здравствуйте ! Как можно запретить вывод ошибок определенных функций?

Вывод ошибок.
Здравствуйте, подскажите по простому вопросу.
У меня стояла связка php + apache. И ошибки…

Вывод php ошибок
Добрый день!
Подскажите пожалуйста как реализовать следующее:
Вот к примеру в ВКонтакте, если…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

5

Вывод ошибок разных уровней в PHP

PHP — это достаточно свободный язык программирования, и это, на мой взгляд, большой минус. Главным недостатком здесь является то, что некоторые конструкции, которые в других языках сразу же отключат выполнение программы, в PHP является нормой и вполне допустимыми. Но если Вы хотите писать код изначально грамотно, то Вам необходимо знать о том, как выводить ошибки разных уровней.

В PHP есть несколько уровней ошибок, которые представлены в таблице ниже:

E_WARNING Различного рода предупреждения. Например, если функция требует 3 параметра, а Вы передаёте только 2, то будет как раз ошибка уровня E_WARNING.
E_NOTICE Примерно то же самое, что и E_WARNING, но ошибки это очень мелкие, и они лишь могут стать причиной ошибок в будущем. Пример: использование неинициализированной переменной. Могу сказать, что данный уровень ошибок встречается практически в каждом мало-мальски сложном скрипте.
E_DEPRECATED Данный уровень ошибок возникает при использовании устаревших конструкций, например, при вызове какой-нибудь старой функции.
E_PARSE Ошибка синтаксического характера. Например, забыли поставить круглую скобку.
E_ERROR Ошибка, которая нам хорошо знакома. Как правило, мы её видем чаще всего. Самый простой пример — это вызов несуществующей функции.
E_ALL Все ошибки.

На большинстве серверов стоит вывод ошибок уровня E_WARNING, E_PARSE и E_ERROR. То есть очень грубые замечания и фатальные ошибки. Если Вы хотите программировать профессионально, то контроль только таких ошибок не достаточен.

Я рекомендую на этапе создания проекта включать вывод уровня ошибок E_ALL. Сделать это очень просто:

<?php
  error_reporting(E_ALL);
?>

И так нужно писать перед началом каждого скрипта. Если данный способ сильно не удобен, и Вы имеете доступ к php.ini, то в этом файле найдите директиву error_reporting и поставьте у неё значение E_ALL.

Если Вы с выводом такого уровня ошибок в PHP напишите код без единого замечания, то, значит, Вы создали, как минимум, неплохой продукт. Когда будете выкладывать уже на хостинг, то рекомендую данный уровень ошибок стереть, чтобы они не появлялись время от времени. Ведь PHP тоже обновляется и сегодня новые конструкции завтра могут уже устареть. И чтобы не вызывать ошибку уровня E_DEPRECATED, рекомендую отключать отображение подобных ошибок.

  • Создано 03.10.2012 08:13:35


  • Михаил Русаков

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):
<?php
  if(!empty($_POST['paswd'])){
     $pass = "123";
    if($_POST['paswd']==$pass){
      header("Location: /nodoc.html") ;
    }
    else {
       header("Location: /oshibka.html") ;
    }
  }
  else
  {
    ?>

Перерыл весь интернет и нашел то что нужно! Точнее не совсем то ;)
Этот код выводит поле для ввода ключа и при правильном ключе переходит на нужную страницу, а при вводе неверного ключа кидает на страницу с ошибкой. Как переделать его так, чтобы при вводе неверного ключа под полем отображался div с текстом «Ошибка! неверный ключ!» ?

Пытался вписать вместо header(«Location: /oshibka.html») ; пробовал echo ‘Ошибка’;
Но так как у меня это поле выводится в модальном окне, страница просто перезагружается и уже потом вместо поля выводится текст с ошибкой ;( Подскажите как правильно вывести ошибку без перезагрузки страницы, просто под полем.

Очень буду благодарен!

Понравилась статья? Поделить с друзьями:
  • Php вывести ошибки в скрипте
  • Php вывести все ошибки на экран
  • Php всплывающее окно с ошибкой
  • Php все ошибки на 404 php
  • Php все ошибки в файл