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

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

iliqn

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 14
Re:Адресна книга (част 1)
« Отговор #30 -: 22 Март 2011, 14:42:24 »
Да ама какво му има на кода че излизат ? как да ги махна?

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 94
  • Публикации: 4836
Re:Адресна книга (част 1)
« Отговор #31 -: 22 Март 2011, 14:44:38 »
Само за примера ли питаш или по принцип?
Щото в примера си пише какво не си направил - само ако знаеш английски де!
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

iliqn

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 14
Re:Адресна книга (част 1)
« Отговор #32 -: 22 Март 2011, 15:44:18 »
Пише ,че не съм го дефинирал ? На урока е същия кода и не изписва това? как го оправя?

kerkenez

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 2
  • -Получени: 14
  • Публикации: 1205
Re:Адресна книга (част 1)
« Отговор #33 -: 22 Март 2011, 16:18:31 »
Имаш няколко варианта
1. да изключиш докладването на забележки чрез функцията error_reporting()
2. да изключиш докладването на забележки чрез php.ini
3. да изключиш показването на съобщения на самата страница и то да е видимо само в логфайла (виж линка от т.2)
4. да дефинираш променливите преди да правиш проверки с тях. Променлива се дефинира така $var = 'value';

Аз ползвам вариант #3

iliqn

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 14
Re:Адресна книга (част 1)
« Отговор #34 -: 22 Март 2011, 16:50:44 »
Ще може ли да го оправиш кода с вариант 4 :?  :)

kerkenez

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 2
  • -Получени: 14
  • Публикации: 1205
Re:Адресна книга (част 1)
« Отговор #35 -: 23 Март 2011, 09:47:09 »
Да ти оправя кода, не но може да ти покажа как да си го оправиш сам.
Ето ти един вариант с функцията isset()
...
if (!isset($_SESSION['is_logged'])) {
    $_SESSION['is_logged'] = false;
}
if ($_SESSION['is_logged'] == true) {
...

intel

  • Гост
Re:Адресна книга (част 1)
« Отговор #36 -: 23 Март 2011, 15:54:16 »
С isset() логически е най-правилно :)

Krusteff

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 28
Re:Адресна книга (част 1)
« Отговор #37 -: 20 Април 2011, 18:33:14 »
Искам да попитам:защо като ми излезе, че съм влязъл в системата, формата за Login не "изчезва"
Edit:Поправих се, извинявам се :)
« Последна редакция: 20 Април 2011, 18:44:37 от Krusteff »

agent.angelov

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 3
Re:Адресна книга (част 1)
« Отговор #38 -: 04 Юли 2012, 15:12:32 »
Искам да попитам:защо като ми излезе, че съм влязъл в системата, формата за Login не "изчезва"
Edit:Поправих се, извинявам се :)

Имам същия проблем и не знам как да го поправя. Надявам се темата да е активна и да получа помощ.
<?php
session_start
();
session_destroy();
header('location: index.php');
<?php
session_start
();
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>friends</title>
</head>
<body>
<?php
if(
$_SESSION['is_logged']==true)
{
echo '<a href="logout.php">logout</a><br><a href="add.php">Add</a><br>';
$friends=file('data.txt');
echo '<table border=1>
<tr><td>Name</td><td>Email</td><td>Phone</td></tr>'
;
foreach ($friends as $v)
{
$tmp=explode(';',$v);
foreach($tmp as $vv)
{
$tmp2=explode(':',$vv);
if($tmp2[0]=='name')
{
$name=$tmp2[1];
}
elseif ($tmp2[0]=='email')
{
$email=$tmp2[1];
}
elseif ($tmp2[0]=='mobile')
{
$phone=$tmp2[1];
}
}
echo '<tr><td>'.$name.'</td><td>'.$email.'</td><td>'.$phone.'</td></tr>';
}

echo '</table>';
}
else
{
if($_GET['error']==1)
{
echo "Wrong user name";
}
}
{
?>

<center>
<form method="post" action="login.php">
Username:<input type="text" name="login"><br>
Password:<input type="password" name="pass"><br>
<input type="submit" value="login">
</form>
<?php
}
?>

</body>
</html>

<?php
session_start
();
$login=trim($_POST['login']);
$pass=trim($_POST['pass']);
if(strlen($login)>&& strlen($pass)>3)
{
if($login=="gatakka" && $pass=="querty")
{
$_SESSION['is_logged']=true;
header('Location: index.php');
}
else
{
header('Location: index.php?error=1');
}
}
<?php
session_start
();
if(
$_SESSION['is_logged']==true)
{

if($_POST['formSubmit']==1)
{
$name=trim($_POST['name']);
$email=trim($_POST['mail']);
$phone=trim($_POST['phone']);
if(strlen($name)>&& strlen($email)>5)
{
$tmp='name:'.$name.';email:'.$email.';mobile:'.$phone.';';
file_put_contents('data.txt',$tmp."\n",FILE_APPEND);
echo "data was saved";
}
else
{
echo "Wrong data";
}
}



?>


<form method="post" action="add.php">
<input type="hidden" name="formSubmit" value="1">
Name:<input type="text" name="name"><br>
Email:<input type="text" name="mail"><br>
Mobile:<input type="text" name="phone"><br>
<input type="submit" value="add">
</form>
<br>
<a href="index.php">index</a>
<?php
}
else
{
header('Location: index.php');
}

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 94
  • Публикации: 4836
Re: Адресна книга (част 1)
« Отговор #39 -: 04 Юли 2012, 15:53:16 »
Аз видях де ти е грешката ама я сподели да не пита пак някой тука!
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

Stan

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 27
  • -Получени: 135
  • Публикации: 641
Re: Адресна книга (част 1)
« Отговор #40 -: 04 Юли 2012, 16:12:35 »
Код: PHP
  1. <?php
  2. if(условие) {
  3. //дрън дрън
  4. }
  5. else {
  6.         if($_GET['error']==1)
  7.         {
  8.                echo "Wrong user name";
  9.         }
  10. }
  11.         { // тази скоба какво отваря ?     
  12.                 ?>     
  13.                 <center>
  14.                 <form method="post" action="login.php">
  15.                 Username:<input type="text" name="login"><br>
  16.                 Password:<input type="password" name="pass"><br>
  17.                 <input type="submit" value="login">
  18.                 </form>
  19.                 <?php  
  20.         } // тази скоба какво затваря ?

Частта с формата трябва да бъде във фигурните скоби на else-a за да се визуализира само когато условието в if() не е изпълнено.Би трябвало повечко да внимаваш за това кои фигурни скоби към коя конструкция принадлежат.

agent.angelov

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 3
Re: Адресна книга (част 1)
« Отговор #41 -: 08 Юли 2012, 16:12:12 »
Намерих липсващата скоба и се оправи. :) Благодаря!

kudev

  • Newbie
  • *
  • Благодарности
  • -Казани: 4
  • -Получени: 0
  • Публикации: 17
Re: Адресна книга (част 1)
« Отговор #42 -: 03 Май 2013, 16:37:42 »
Здравейте, реших да започна с видео уроците по PHP които са супер направени.

Ето кода до където съм стигнал:

<?php
session_start
();
?>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Friends</title>
    </head>
    <body>
        <?php
        
if(!isset($_SESSION['is_logged']))
        {
            
$_SESSION['is_logged'] = false;
        }
        
        if(
$_SESSION['is_logged']==true)
        {
            echo 
"logged";
            
//TODO list of friends
        
}
      
           else 
           {
               if(!isset(
$_POST['login']))
               {
                   
$_POST['login'] = false
               }
               
                if(!isset(
$_POST['pass']))
               {
                   
$_POST['pass'] = false;
               }
              
               if(
strlen(trim($_POST['login']))>&& strlen(trim($_POST['pass']))>3)
               {
                   echo 
'ok';
               }
            
?>

        <form method="post" action="index.php">
        Username:<input type="text" name="login"><br>
        Password:<input type="password" pass="pass"><br>
        <input type="submit" value="Login">
         </form>
            <?php
            
        
}
        
?>

    </body>
</html>


Проблема ми е в това, че след като въведа username и парола над 3 символа
не ми се изпълнява това echo "ok";

   if(strlen(trim($_POST['login']))>3 && strlen(trim($_POST['pass']))>3)
               {
                   echo 'ok';
               }

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: Адресна книга (част 1)
« Отговор #43 -: 03 Май 2013, 22:07:29 »
A...дали стигаш въобще до тази проверка?

Това else част от чий if блок стейтмънт е?

Код: PHP
  1. else
  2.            {
  3.                if(!isset($_POST['login']))
  4.                {
  5.                    $_POST['login'] = false;
  6.                }
  7.                
  8.                 if(!isset($_POST['pass']))
  9.                {
  10.                    $_POST['pass'] = false;
  11.                }
  12.              
  13.                if(strlen(trim($_POST['login']))>3 && strlen(trim($_POST['pass']))>3)
  14.                {
  15.                    echo 'ok';
  16.                }
  17.  
Java is to Javascript as fun is to funeral.

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

kudev

  • Newbie
  • *
  • Благодарности
  • -Казани: 4
  • -Получени: 0
  • Публикации: 17
Re: Адресна книга (част 1)
« Отговор #44 -: 04 Май 2013, 12:20:34 »
Това else е от този блок:
   
Код: PHP
  1.    if($_SESSION['is_logged']==true)
  2.         {
  3.             echo "logged";
  4.             //TODO list of friends
  5.         }
  6.  
 
 
Има и нещо друго като изпълня така кода както е точно в урока:

Като заредя отначало страницата получавам:

Notice: Undefined index: login in F:\xampp\htdocs\friends\index.php on line 20

Username:
Password:
Input username and password

След това като попълня username и password с повече от 3 символа получавам това:

[code]
Notice: Undefined index: login in F:\xampp\htdocs\friends\index.php on line 20

Username:
Password:
Input username and password

А като попълня username и password с по малко от 3 символа получавам това:


Username:
Password:
Input username and password


Немога да разбера защо немога въобще да стигна до този if и echo

Код: PHP
  1.  if(strlen(trim($_POST['login']))>3 && strlen(trim($_POST['pass']))>3)
  2.             {
  3.                 echo "ok";
  4.             }
  5.  

Код: PHP
  1. <?php
  2. ?>
  3. <!DOCTYPE html>
  4. <html>
  5.     <head>
  6.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7.         <title>Friends</title>
  8.     </head>
  9.     <body>
  10.         <?php
  11.        
  12.        if($_SESSION['is_logged']==true)
  13.         {
  14.             echo "logged";
  15.             //TODO list of friends
  16.         }
  17.          else
  18.          {
  19.              if(strlen(trim($_POST['login']))>3 && strlen(trim($_POST['pass']))>3)
  20.             {
  21.                 echo "ok";
  22.             }
  23.    
  24.         ?>
  25.         <form method="POST" action="index.php">
  26.         Username:<input type="text" name="login"><br>
  27.         Password:<input type="password" pass="pass"><br>
  28.         <input type="submit" value="Login">
  29.          </form>
  30.         <?php
  31.             echo "Input username and password";
  32.          }
  33.         ?>
  34.     </body>
  35. </html>
  36.