Игорь_Vasinsky
27.05.2013 - 06:59
покажи код с 270 по 280
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Гость_Mister_X
27.09.2014 - 11:48
Доброго времени суток !
Помогите пожалуйста решить вопрос .... Я сейчас потихоньку изучаю пхп и к сайту пытаюсь приделать простую админку в нете нашел вроде что то урока и ставлю код для входа по паролю в админку
<?php
if($_COOKIE["pass"]!=="123"){
sleep(1);
if(isset($_POST["pass"])){
setcookie("pass",$_POST["pass"], time()+3600*24*14);
die("Обновите страницу");
}
?>
<html><head><title>Админка</title></head><body>
<form method="post">
<input type="password" name="pass" value="">
<input type="submit" name="submit" value="Пароль">
</form></body></html>
<?php
exit();
}
?>
перехожу localhost/admin.php и вот мне что выдает
Цитата |
( ! ) Notice: Undefined index: pass in C:\VertrigoServ\www\admin.php on line 2 Call Stack # Time Memory Function Location 1 0.0030 330688 {main}( ) ..\admin.php:0
|
и под этой ерундой поле для ввода пароля ввожу пароль и ошибка пропадает
Цитата |
if($_COOKIE["pass"]!=="123"){ |
По началу при первом запуске скрипта куки "pass" еще нет, а вы сразу проверяете равна ли она 123, от этого ошибка
Цитата |
Notice: Undefined index: pass in C:\VertrigoServ\www\admin.php on line 2 |
неизвестный индекс "pass" здесь: $_COOKIE["pass"]
Можно, например, сделать так:
создать переменную $cookie которой присвоить значение $_COOKIE["pass"] если она существует или присвоить пустую строку если этой куки нет, а уже потом работать только уже с ней.
$cookie=((!isset($_COOKIE["pass"])?'':$_COOKIE["pass"]);
if($cookie!=="123"){
таким образом сначала проверит
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Гость_Mister_X
27.09.2014 - 12:58
Спасибо Вам за помощь ... все заработало ... но появились вопросы (((
в строчке $cookie=((!isset($_COOKIE["pass"])?'':$_COOKIE["pass"]);
в середине есть знаки ?'': для чего они там ? нельзя просто написать and ?
Цитата |
в строчке $cookie=((!isset($_COOKIE["pass"])?'':$_COOKIE["pass"]);
в середине есть знаки ?'': для чего они там ? нельзя просто написать and ? |
Читайте тернарные операторы.
http://us2.php.net/manual/ru/language.oper....comparison.phpЗапись $cookie=((!isset($_COOKIE["pass"])?'':$_COOKIE["pass"]);
это сокращенная запись выражения:
if(!isset($_COOKIE['pass']))
{
$cookie='';
}
else
{
$cookie=$_COOKIE['pass'];
}
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
ww220ww
30.01.2017 - 06:12
Помогите с формой обратной связи. С локального сервера отправляет, но выдает предупреждение:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (!empty($_POST['uname']) && (!empty($_POST['uemail']) || !empty($_POST['uphone']))){
if (isset($_POST['uname'])) {
if (!empty($_POST['uname'])){
$uname = strip_tags($_POST['uname']) . "<br>";
$unameFieldset = "<b>Имя пославшего:</b>";
}
}
if (isset($_POST['uemail'])) {
if (!empty($_POST['uemail'])){
$uemail = strip_tags($_POST['uemail']) . "<br>";
$uemailFieldset = "<b>Почта:</b>";
}
}
if (isset($_POST['uphone'])) {
if (!empty($_POST['uphone'])){
$uphone = strip_tags($_POST['uphone']) . "<br>";
$uphoneFieldset = "<b>Телефон:</b>";
}
}
if (isset($_POST['formInfo'])) {
if (!empty($_POST['formInfo'])){
$formInfo = strip_tags($_POST['formInfo']);
$formInfoFieldset = "<b>Тема:</b>";
}
}
$to = "wwwwww@yandex.ru";
$sendfrom = "smart-landing@yandex.ru";
$headers = "From: " . strip_tags($sendfrom) . "\r\n";
$headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";
$headers .= "Content-Transfer-Encoding: 8bit \r\n";
$subject = "$formInfo";
$message = "$unameFieldset $uname
$uemailFieldset $uemail
$uphoneFieldset $uphone
$formInfoFieldset $formInfo";
$send = mail ($to, $subject, $message, $headers);
if ($send == 'true') {
echo '<p class="success">Спасибо за отправку вашего сообщения!</p>';
} else {
echo '<p class="fail"><b>Ошибка. Сообщение не отправлено!</b></p>';
}
} else {
echo '<p class="fail">Ошибка. Вы заполнили не все обязательные поля!</p>';
}
} else {
header ("Location: http://odnastraniza.ru");
}