Автор Тема: Адресна книга (част 2)  (Прочетена 34404 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

ppenev

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 19
Re: Адресна книга (част 2)
« Отговор #45 -: 04 Октомври 2012, 17:00:19 »
Благодаря за изчерпателния анализ. Надявам се за напред да се подобрят нещата. :)

sisoweb

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 46
Re: Адресна книга (част 2)
« Отговор #46 -: 15 Ноември 2012, 16:17:40 »
Защо при зареждане на страницата ми излиза "Wrong data"
Код: PHP
  1. <?php
  2. if($_SESSION['is_logged']==TRUE)
  3. {
  4.     if($_POST['subbmitForm']==1)
  5.     {
  6.         $name= trim($_POST['name']);
  7.         $email= trim($_POST['email']);
  8.         $mobile= trim($_POST['mobile']);
  9.         if(strlen($name)>3 && strlen($email)>8)
  10.         {
  11.             $tmp='name-'.$name.'; email-'.$email.'; mobile-'.$mobile.';';
  12.             file_put_contents('data.txt', $tmp , FILE_APPEND);
  13.             ?>
  14.         <script type="text/javascript">
  15.             alert("Data saved");
  16.         </script>
  17.         <?php
  18.         }
  19.     }else{
  20.         ?>
  21.         <script type="text/javascript">
  22.             alert("Wrong data");
  23.         </script>
  24.         <?php
  25.     }
  26.     ?>
  27.     <form method="post" action="add.php">
  28.         Name : <input type="text" name="name" /><br/>
  29.         <input type="hidden" value="1" name="subbmitForm">
  30.         Email : <input type="text" name="email" /><br/>
  31.         Mobile : <input type="text" name="mobile" /><br/>
  32.         <input type="submit" value="Add">
  33.     </form>
  34.     <?php
  35. }else{
  36.     header('Location: index.php');
  37. }
  38.  
  39. ?>
  40.    
  41.  
  42.  
  43.  

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: Адресна книга (част 2)
« Отговор #47 -: 15 Ноември 2012, 20:39:33 »
Ами най-простото и първо нещо, което би могъл да е видиш е статуса от $_SESSION['is_logged'].
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 125
  • -Получени: 73
  • Публикации: 1005
  • Кибик
Re: Адресна книга (част 2)
« Отговор #48 -: 15 Ноември 2012, 20:42:21 »
По точно $_POST['subbmitForm'] не е == на 1.
Между 4 и 5 ред сложи
Код: PHP
  1. ...
  2. var_dump($_POST['subbmitForm']);
  3. exit('Прекъсване');
  4. ...
да видим какво ще ти даде.
« Последна редакция: 15 Ноември 2012, 20:45:43 от HanKrum »
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: Адресна книга (част 2)
« Отговор #49 -: 15 Ноември 2012, 20:47:42 »
Цитат
Защо при зареждане на страницата ми излиза "Wrong data"

Наборе, нещо не четеш май както требе  ;D
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 125
  • -Получени: 73
  • Публикации: 1005
  • Кибик
Re: Адресна книга (част 2)
« Отговор #50 -: 15 Ноември 2012, 21:09:38 »
Нали това казвам, защото ако не е събмитнато $_POST['subbmitForm'] не е 1 и затова се изпълнява:
Код: HTML
  1. <script type="text/javascript">
  2.     alert("Wrong data");
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

sisoweb

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 46
Re: Адресна книга (част 2)
« Отговор #51 -: 15 Ноември 2012, 21:15:14 »
По точно $_POST['subbmitForm'] не е == на 1.
Между 4 и 5 ред сложи
Код: PHP
  1. ...
  2. var_dump($_POST['subbmitForm']);
  3. exit('Прекъсване');
  4. ...
да видим какво ще ти даде.
Дава ми NULL Прекъсване

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 125
  • -Получени: 73
  • Публикации: 1005
  • Кибик
Re: Адресна книга (част 2)
« Отговор #52 -: 15 Ноември 2012, 21:54:59 »
А сега без exit('Прекъсване'); но ми дай резултата преди събмитване и след.
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

sisoweb

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 46
Re: Адресна книга (част 2)
« Отговор #53 -: 15 Ноември 2012, 22:10:46 »
А сега без exit('Прекъсване'); но ми дай резултата преди събмитване и след.
Преди е нул , а след string(1) "1"

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 125
  • -Получени: 73
  • Публикации: 1005
  • Кибик
Re: Адресна книга (част 2)
« Отговор #54 -: 15 Ноември 2012, 22:27:17 »
Ами тези въпроси ти ги зададох, за да се сетиш сам, тъй като не си, ти давам правилния код:
Код: PHP
  1. <?php
  2. if ($_SESSION['is_logged'] == TRUE) {
  3.     if ($_POST['subbmitForm'] == 1) {
  4.         $name = trim($_POST['name']);
  5.         $email = trim($_POST['email']);
  6.         $mobile = trim($_POST['mobile']);
  7.         if (strlen($name) > 3 && strlen($email) > 8) {
  8.             $tmp = 'name-' . $name . '; email-' . $email . '; mobile-' . $mobile . ';';
  9.             file_put_contents('data.txt', $tmp, FILE_APPEND);
  10.             ?>
  11.             <script type="text/javascript">
  12.                 alert("Data saved");
  13.             </script>
  14.             <?php
  15.         } else {
  16.             ?>
  17.             <script type="text/javascript">
  18.                 alert("Wrong data");
  19.             </script>
  20.             <?php
  21.         }
  22.     }
  23.     ?>
  24.     <form method="post" action="add.php">
  25.         Name : <input type="text" name="name" /><br/>
  26.         <input type="hidden" value="1" name="subbmitForm">
  27.         Email : <input type="text" name="email" /><br/>
  28.         Mobile : <input type="text" name="mobile" /><br/>
  29.         <input type="submit" value="Add">
  30.     </form>
  31.     <?php
  32. } else {
  33.     header('Location: index.php');
  34. }
елс-а с JS трябва да е на проверката за валидност, а не на събмита ;)
ето го работещ: http://84.43.147.197/Testove/adr_kn/add.php
« Последна редакция: 15 Ноември 2012, 23:55:52 от HanKrum »
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: Адресна книга (част 2)
« Отговор #55 -: 15 Ноември 2012, 23:19:47 »
Цитат
Защо при зареждане на страницата ми излиза "Wrong data"

Наборе, нещо не четеш май както требе  ;D

Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

Tinyiso

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 4
Re: Адресна книга (част 2)
« Отговор #56 -: 18 Март 2014, 20:27:43 »
Здравейте,имам малък проблем с кода на add.php от урока ,в моя случай не ми прави никакви проверки въпреки че $_SESSION['is_logged'] ми връща true.




Код: PHP
  1. <?php
  2. if ($_SESSION['is_logged']==true) {
  3.             if ($_POST['sbmit'] == 1){
  4.                     $name = trim($_POST['name']);
  5.                     $email = trim($_POST['email']);
  6.                     $phone = trim($_POST['mobile']);
  7.                     if (strlen($name) > 3 && strlen($email) > 5) {
  8.  
  9.                                     $tmp = 'name:' . $name . ';email:' . $email . ';mobile:' . $phone . ';';
  10.                                     file_put_contents('data.txt', $tmp . "\r \n", FILE_APPEND);
  11.                                     echo 'Data was saved!';
  12.                     }
  13.                     else{
  14.                                      echo "wrong data";
  15.                     }
  16.                     ?>
  17.                     <form method="post" action="add.php" >
  18.                         Name:<input type="text" name="name"><br>
  19.                         <input type="hidden" name="sbmit" value="1">
  20.                         Email:<input type="text" name="email"><br>
  21.                         Mobile:<input type="number" name="mobile"><br>
  22.                         <input type="submit" value="add">
  23.                     </form>
  24.                     <?php
  25.           } else {
  26.               header('Location:index.php');
  27.           }
  28. }
  29. else {
  30.     echo '<h1>LOGIN PLEASE!</h1>';
  31. }
  32.  

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 125
  • -Получени: 73
  • Публикации: 1005
  • Кибик
Re: Адресна книга (част 2)
« Отговор #57 -: 18 Март 2014, 21:18:30 »
$_POST['sbmit']  не е ли $_POST['submit']
... доглеждайте бе хора, за да няма грешки copy/paste!!!
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: Адресна книга (част 2)
« Отговор #58 -: 18 Март 2014, 21:45:37 »
Всъщност наистина е sbmit. Време е да се запознаеш с методите за дебъг на кода. Преди въпросната проверка напиши един var_dump($_POST) и покажи какво се появява.
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

Tinyiso

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 4
Re: Адресна книга (част 2)
« Отговор #59 -: 18 Март 2014, 23:16:19 »
 
Код: PHP
  1. var_dump($_POST);
array(0) { }
Код: PHP
  1. var_dump($_SESSION);
  array(1) { ["is_logged"]=> bool(true) }