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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Каролина
Отправлено: 11 Мая, 2012 - 20:23:29
Post Id



Частый гость


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


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

[+][+]


помогите исправить код
PHP:
скопировать код в буфер обмена
  1. <form action="<?PHP $_SERVER['PHP_SELF'] ?> method="post">
  2. Email<inpyt type="text" name="email">
  3. Пароль<inpyt type="password" name="pass">
  4. </form>
  5. <?PHP
  6. $pass=$_POST['pass'];
  7. $Email=$_POST['Email'];
  8. if(empty($Email) ||  empty($pass))
  9. {
  10. echo"вы не ввели Пароль или Email";
  11. }
  12. else
  13. {
  14. if($_SESSION['Email']=$Email or $_SESSION['pass']=$pass)
  15. echo"вы вошли";
  16. else
  17. echo"вы не правельно чот ввели";
  18. }
  19. ?>

(Отредактировано автором: 11 Мая, 2012 - 20:31:34)

 
 Top
Bio man
Отправлено: 11 Мая, 2012 - 20:43:17
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


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




= это присваивание. Сравнение == или ===
 
 Top
Symby
Отправлено: 11 Мая, 2012 - 20:46:54
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2012  
Откуда: Пермь


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




А не лучше так?
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <form action="<?PHP $_SERVER['PHP_SELF'] ?> method="post">
  3. Email<inpyt type="text" name="email">
  4. Пароль<inpyt type="password" name="pass">
  5. </form>
  6. <?php
  7.  
  8. $pass = $_POST['pass'];
  9. $Email = $_POST['Email'];
  10.  
  11. if (empty($Email) || empty($pass)) exit "вы не ввели Пароль или Email";
  12. if($_SESSION['Email'] == $Email || $_SESSION['pass'] == $pass) echo"вы вошли";
  13. else echo"вы не правельно чот ввели";
  14.  
  15. ?>
  16.  


И вообще, где вы сессию открываете? Вид вы проверяете в глобальном массиве сессий, там вид пусто.


-----
Пишу немного о электронной музыке > http://techno-arena[dot]ru
 
 Top
Каролина
Отправлено: 11 Мая, 2012 - 20:51:30
Post Id



Частый гость


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


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

[+][+]


у тя ошибка в 9строке
 
 Top
Green
Отправлено: 11 Мая, 2012 - 20:54:57
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Апр. 2012  
Откуда: Кисловодск


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




Вы, возможно, не поверите... Но тут все не правильно. Не понял

Начнем с того, что:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <form action="<?PHP $_SERVER['PHP_SELF'] ?>
  3.  


Надо заменить на:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <form action="<?PHP echo($_SERVER['PHP_SELF']); ?>"
  3.  

Не понял

Далее, после HTML формы, всё действие надо заключить в условие, которое проверяет, например, нажата ли вообще кнопка в форме. Читайте про isset().
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if($_SESSION['Email']=$Email or $_SESSION['pass']=$pass)
  3.  

Вообще не пойми что. Не понял

Следует заменить на:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if($_SESSION['Email'] == $Email or $_SESSION['pass'] == $pass)
  3.  

Но, "вы вошли" не отобразится никогда. Ибо таких сессий не существует вовсе.
Вы сделайте, чтобы если не пусты $pass и $Email, то в сессии записываются их значения.

Работать у Вас все равно ничего не будет. Все переписывать надо. Логически вообще все не верно построено.

И еще, не inpyt, а input.

(Отредактировано автором: 11 Мая, 2012 - 20:56:49)

 
 Top
Bio man
Отправлено: 11 Мая, 2012 - 20:55:17
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


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




Symby пишет:
А не лучше так?
Нет, так ничем не лучше.
Каролина пишет:
у тя ошибка в 9строке
Извините меня модераторы, но меня бесят такие посты. Данное сообщение не несет никакой смысловой нагрузки, так почему бы его не оформить как оффтоп или лучше вообще не писать?
 
 Top
sKaa
Отправлено: 11 Мая, 2012 - 21:02:03
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


Спойлер (Отобразить)

(Отредактировано автором: 11 Мая, 2012 - 21:49:09)

 
 Top
Symby
Отправлено: 11 Мая, 2012 - 21:02:55
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2012  
Откуда: Пермь


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




Каролина пишет:
у тя ошибка в 9строке

Ошибка в том что не существуют такие данные в массиве пост, может сами найдете ошибку?


-----
Пишу немного о электронной музыке > http://techno-arena[dot]ru
 
 Top
avtor.fox
Отправлено: 11 Мая, 2012 - 21:05:05
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


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




Bio man не кипятись Улыбка

Вообще что бы отправить форму саму на себя, достаточно


sKaa, не чуди. Ты тоже решил <?PHP $_SERVER///;?> Однако
Просто ужасная проверка формы Ниндзя
 
 Top
Green
Отправлено: 11 Мая, 2012 - 21:06:05
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Апр. 2012  
Откуда: Кисловодск


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




CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.         if(isset($_SESSION["email"]) == TRUE AND isset($_SESSION["pass"]) == TRUE) {
  4.            exit("Вы уже выполниили вход в аккаунт!");
  5.         }
  6.    
  7.    if(isset($_POST["go"]) == TRUE) {
  8.        $email = $_POST["email"];
  9.        $pass  = $_POST["pass"];
  10.        
  11.        if(empty($email) == TRUE OR empty($pass) == TRUE) {
  12.            exit("Вы ничего не ввели!");
  13.        } else {
  14.            $_SESSION["email"] = $email;
  15.            $_SESSION["pass"] = $pass;
  16.        }
  17.    }
  18. ?>
  19. <form action="<?PHP echo($_SERVER["PHP_SELF"]); ?> method="POST">
  20.     <b>Email:</b> <br /> <input type="text" name="email">     <b>Пароль:</b> <br /> <input type="password" name="pass"> <br />     <button name="go">Войти >></button>
  21. </form>
  22.  

Вот накидал вариант. Однако

Печально. Форум испортил код чуток. Подмигивание

(Отредактировано автором: 11 Мая, 2012 - 21:07:02)

 
 Top
sKaa
Отправлено: 11 Мая, 2012 - 21:07:29
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


avtor.fox, че вы меня морозите, я бухой, даже внимания не обращаю на такие мелочи, и так да здравствует моя совесть, что я соизволил дримвейвер запустить, а не на коленке писать Улыбка
(Добавление)
Green, фигня, я предложил более гибкий вариант Улыбка Жаль ооп для каролины пока непостижим Улыбка
 
 Top
avtor.fox
Отправлено: 11 Мая, 2012 - 21:09:10
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


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





sKaa. Пьяным?! Да ещё и в "погоде-мечте"?! Да Вы батенька извращенец Улыбка
 
 Top
sKaa
Отправлено: 11 Мая, 2012 - 21:12:36
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]



Я религиозный фанатик, меня редко обламывает скоротать вечерок за парой строчек кода, это только в последнее время я стал подкреплять мотивацию такого времяпрепровождения баночками пива, что часто пропорциональны строчечкам кода Улыбка, раньше такого я себе позволить не могу, а сейчас ..... бей посуду! - я плачу!!!.



Каролина ! Я те все волосы повыдергаю если ты мне спасибо не нажмешь!!!! ))) И всем остальным тоже кто проявлял внимание к твоим непонятным кусочкам полу-кода бл....ь!!!

(Отредактировано автором: 11 Мая, 2012 - 21:16:16)

 
 Top
Green
Отправлено: 11 Мая, 2012 - 21:18:31
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Апр. 2012  
Откуда: Кисловодск


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




sKaa пишет:
avtor.fox, че вы меня морозите, я бухой, даже внимания не обращаю на такие мелочи, и так да здравствует моя совесть, что я соизволил дримвейвер запустить, а не на коленке писать Улыбка
(Добавление)
Green, фигня, я предложил более гибкий вариант Улыбка Жаль ооп для каролины пока непостижим Улыбка

Улыбка Ну так я поэтому такой простой компактный вариант накидал, дабы ТС поняла как вообще это должно работать.

Я конечно же могу предоставить вариант, в котором учтены любые мелочи)
Но в таком случае, я уверен, ТС ничего не поймет в коде, и опять попытается свое написать)))) Улыбка

Я как бы написал на понятном ей стиле программирования, если можно так сказать. Улыбка
 
 Top
sKaa
Отправлено: 11 Мая, 2012 - 21:26:38
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


Green, мое мнение - плохие примеры кода еще больше подталкивают новичков к стилю кода "говнокод" или "индусский код" тут еще важно учитывать склад ума новичка по скольку оба эти стиля совершенно разные, и зависят не столько от задачи приложения, а от количества строк в нем или несуразных решений простых задач, но ничего хорошего в них обоих нету.
В том время как красивые и в тоже время простые примеры без лишних плясок с бубном мотивируют новичков на совершенствование навыков! - имхо!
(Добавление)
Немного дополнил свой код проверкой состояния сессий Улыбка
(Добавление)
И <? echo $_SERVER['PHP_SELF']; ?> легко можно заменить на <?=$_SERVER['php_self']?>, конечно это функция требует включенной директивы в пхп.ини (short_open_tag но могу ошибаться), обычно она включена если всякие денверы стоят.
(Добавление)
И вообще пока не пришла ТС и не занялась обыденным копи-пастом я заменил :
form action="<?=$_SERVER['php_self']?>"
на : так наверное будет самое лучшее решение, но необходимо всё-же тестить, у меня не установлены сейчас ни апач ни модуль пхп ессно к нему, пишу на холстах так сказать Улыбка
form action="<?='http://' . $_SERVER['HTTP_HOST'] . '/' . current(explode('?', $_SERVER['PHP_SELF']))?>"

(Отредактировано автором: 11 Мая, 2012 - 21:27:49)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB