#php #html #css
Вопрос:
У меня есть инструкция if else ниже, где она будет просматривать базу данных и отображать ошибку, если сообщения электронной почты нет в базе данных. Я хочу повторить сообщение об ошибке рядом с кнопкой «Отправить». В настоящее время мое сообщение об ошибке всегда будет отображаться в верхней части страницы.
if (mysql_num_rows($search_user_email) gt; 0) { echo "lt;p style="color:red"gt;lt;bgt;Email found!lt;/bgt;lt;/pgt;"; } else { echo "lt;p style="color:red"gt;lt;bgt;Email not found!lt;/bgt;lt;/pgt;"; } lt;tr style="background-color: #FFFFFF; height: 18px"gt; lt;tdgt; lt;span style="font-size:10pt;"gt;Search by email:lt;/spangt; lt;/tdgt; lt;tdgt; lt;form action="" method="post" name="search_email_form"gt; lt;input type="text" style="height:15px; font-size:10pt;" name="search_email_input"gt;lt;/inputgt; lt;/tdgt; lt;tdgt; lt;input type="submit" style="height:22px; font-size:10pt;" name="search_email_submit" value="Search"gt;lt;/inputgt; lt;/formgt;
Комментарии:
1. Это так просто, что я задаюсь вопросом, перестали ли вы на самом деле думать об этом.
Ответ №1:
Просто сохраните сообщение об ошибке в переменную и отобразите его по мере необходимости:
$errMsg=""; if (mysql_num_rows($search_user_email) gt; 0) { $errMsg= "lt;p style="color:red"gt;lt;bgt;Email found!lt;/bgt;lt;/pgt;"; } else { $errMsg= "lt;p style="color:red"gt;lt;bgt;Email not found!lt;/bgt;lt;/pgt;"; } lt;tr style="background-color: #FFFFFF; height: 18px"gt; lt;tdgt; lt;span style="font-size:10pt;"gt;Search by email:lt;/spangt; lt;/tdgt; lt;tdgt; lt;form action="" method="post" name="search_email_form"gt; lt;input type="text" style="height:15px; font-size:10pt;" name="search_email_input"gt;lt;/inputgt; lt;/tdgt; lt;tdgt; lt;input type="submit" style="height:22px; font-size:10pt;" name="search_email_submit" value="Search"gt;lt;/inputgt; lt;/formgt;lt;?php echo $errMsg; ?gt;
Комментарии:
1. Я думаю, тебе следует это сделать
if (isset($errMsg))
2. @blo Я на самом деле еще раз просмотрел свой код и сохранил входные данные как при успешном, так и при неудачном выполнении запроса, так что в любом случае будет лучше отобразить его.
3. Да, теперь это не нужно 🙂
Ответ №2:
установите флаг, если есть ошибка
if (mysql_num_rows($search_user_email) gt; 0) { $emailError = true; } else { echo "lt;p style="color:red"gt;lt;bgt;Email not found!lt;/bgt;lt;/pgt;"; } lt;tr style="background-color: #FFFFFF; height: 18px"gt; lt;tdgt; lt;span style="font-size:10pt;"gt;Search by email:lt;/spangt; lt;/tdgt; lt;tdgt; lt;form action="" method="post" name="search_email_form"gt; lt;input type="text" style="height:15px; font-size:10pt;" name="search_email_input"gt;lt;/inputgt; lt;/tdgt; lt;tdgt; lt;input type="submit" style="height:22px; font-size:10pt;" name="search_email_submit" value="Search"gt;lt;/inputgt; lt;?php if($emailError) echo "lt;p style="color:red"gt;lt;bgt;Email found!lt;/bgt;lt;/pgt;"; $emailError = false; ?gt; lt;/formgt;
Ответ №3:
Вот как бы я это сделал:
lt;?php if(mysql_num_rows($search_user_email) gt; 0) { $message = 'lt;p style="color:red"gt;lt;bgt;Email found!lt;/bgt;lt;/pgt;'; } else { $message = 'lt;p style="color:red"gt;lt;bgt;Email not found!lt;/bgt;lt;/pgt;'; } ?gt; lt;tr style="background-color: #FFFFFF; height: 18px"gt; lt;tdgt; lt;span style="font-size:10pt;"gt;Search by email:lt;/spangt; lt;/tdgt; lt;tdgt; lt;form action="" method="post" name="search_email_form"gt; lt;input type="text" style="height:15px; font-size:10pt;" name="search_email_input" /gt; lt;/tdgt; lt;tdgt; lt;input type="submit" style="height:22px; font-size:10pt;" name="search_email_submit" value="Search" /gt; lt;/formgt; lt;?php if(isset($message)) { echo $message; } ?gt;
Кстати, PHP больше не поддерживает функции mysql_, и рано или поздно они будут удалены.*
Редактировать:
Вам не нужно ставить lt;/inputgt;
, вы можете просто сделать это:
lt;input ... /gt;