Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z if, elseif, else
neoski
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 31.07.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mam problem z użyciem if, elseif, else. Zresztą już nie pierwszy raz...

Skrypt służy do zmiany hasła.

  1. <?php $pw=$_POST["pw"];
  2. $pwn1=$_POST["pwn1"]
  3. ;$pwn2=$_POST["pwn2"];
  4.  
  5. $error=0;
  6. if (empty($pwn1) or empty($pwn2) or empty($pw)) { $error++; }
  7. elseif ($error==0) {
  8. $sql1="SELECT id, password FROM users WHERE id='$myid'";
  9. $data=mysql_query($sql1, $db);
  10. while($mypw=mysql_fetch_object($data)) { $password=$mypw->password; }
  11. $md5pw=md5($pw);
  12. if ($password != $md5pw) { print "<br>Podałeś <b>złe</b> stare hasło!<br><br>"; }
  13. elseif ($password == $md5pw) { print "<br>Nowe hasła nie pasują do siebie!<br><br>"; }
  14. else ($pwn1 == $pwn2) { $md5pw2=md5($pwn2);
  15. $update = "UPDATE users SET password='$md5pw2' WHERE id=$myid";
  16. $sqlaction = mysql_query($update);
  17. print "<br>Hasło pomyślnie zmienione<br><br><a href=\"index.php?id=news/index\">dalej</a><br><br>"; } }
  18. else { print "<br>Przed zmianą hasła uzupełnij wszystkie pola!<br><br>"; } ?>


Błąd który się pojawia:
Cytat
Parse error: syntax error, unexpected '{' in /cms1/modules/profile/actionpassword.php on line 23


Oczywiście nawiązuje wcześniej połączenie do bazy... kiedyś ktoś mi to wypomniał winksmiley.jpg.
Go to the top of the page
+Quote Post
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


A od kiedy to przy else podaje się warunki? I nie ma co się dziwić, że będą pojawiać się głupie błędy przy takim stylu pisania kodu...


--------------------
Go to the top of the page
+Quote Post
neoski
post
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 31.07.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Przy takim czymś wywala "Nowe hasła nie pasują do siebie!", po czym wysyła do bazy i zmienia...

  1. <?php ...
  2. if (empty($pwn1) or empty($pwn2) or empty($pw)) { $error++; }
  3. if ($error==0) {
  4. $sql1="SELECT id, password FROM users WHERE id='$myid'";$data=mysql_query($sql1, $db);
  5. while($mypw=mysql_fetch_object($data)) { $password=$mypw->password; }
  6. $md5pw=md5($pw);
  7. if ($password != $md5pw) { print "<br>Podałeś <b>złe</b> stare hasło!<br><br>"; }
  8. if ($password == $md5pw) { print "<br>Nowe hasła nie pasują do siebie!<br><br>"; }
  9. if ($pwn1 == $pwn2) { $md5pw2=md5($pwn2);
  10. ... ?>


Cytat
A od kiedy to przy else podaje się warunki?
Hm, od kiedy zwraca się tak do użytkowników? Tym bardziej, że jest to dział dla początkujących :/.

Cytat
I nie ma co się dziwić, że będą pojawiać się głupie błędy przy takim stylu pisania kodu...
To może zamiast gadać, że źle, źle pokażecie w końcu jak jest dobrze?

Odczuwam bardzo nie miłą atmosferę na tym forum. To już nie pierwszy raz kiedy zwracają się do mnie osoby o parę książek do przodu w ten sposób.
Go to the top of the page
+Quote Post
Speedy
post
Post #4





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

Ostrzeżenie: (0%)
-----


Cytat
Hm, od kiedy zwraca się tak do użytkowników


Cytat
To może zamiast gadać, że źle, źle pokażecie w końcu jak jest dobrze?


Hm... a od kiedy tak się zwraca do użytkowników?
Jeśli już krytykujesz czyjeś wypowiedzi i uważasz, że są one niemiłe, to przynajmniej sam staraj się zachować jak należy, bo wygląda to tragicznie...

http://phppl.ezpublish.no/phppl/wortal/art...ch_programistow

Cytat
Odczuwam bardzo nie miłą atmosferę na tym forum. To już nie pierwszy raz kiedy zwracają się do mnie osoby o parę książek do przodu w ten sposób.


Więc może warto trochę poczytać snitch.gif ...

Ten post edytował Speedy 6.02.2006, 00:27:37


--------------------
Sygnatura niezgodna z regulaminem.
Go to the top of the page
+Quote Post
cadavre
post
Post #5





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


  1. <?php
  2. (...)
  3. if (empty($pwn1) or empty($pwn2) or empty($pw)) { 
  4. $error++; 
  5. }
  6. if ($error==0) {
  7. $sql1="SELECT id, password FROM users WHERE id='$myid'";
  8. $data=mysql_query($sql1, $db);
  9. while($mypw=mysql_fetch_object($data)) {
  10. $password=$mypw->password; 
  11. }
  12. $md5pw=md5($pw);
  13. if ($password != $md5pw) { 
  14. print "<br>Podałeś <b>złe</b> stare hasło!<br><br>"; 
  15. }
  16. elseif ($password == $md5pw) { 
  17. print "<br>Nowe hasła nie pasują do siebie!<br><br>";
  18. }
  19. elseif ($pwn1 == $pwn2) { 
  20. $md5pw2=md5($pwn2);
  21. }
  22. }
  23. (...)
  24. ?>

Wygląda lepiej? tongue.gif

BTW Nie wypada dodać else przed niektóre ify? ^

Ten post edytował cadavre 6.02.2006, 00:38:25


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
neoski
post
Post #6





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 31.07.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat
Jeśli już krytykujesz czyjeś wypowiedzi i uważasz, że są one niemiłe, to przynajmniej sam staraj się zachować jak należy, bo wygląda to tragicznie...
Po raz kolejny słuchając tylko wytyczek niestety nerwy puściły. Oczywiście jeżeli wygląda to tragicznie to tragiczne są też wypowiedzi poprzedników.

Cytat
Dziękuję.

Cytat
Więc może warto trochę poczytać snitch.gif ...
Niektórzy nie mają czasu szperać w paru książkach. Właśnie do tego między innymi są fora na których inni ludzie wiedzą i pomagają w zdecydowanie szybszy sposób.

Cytat
Wygląda lepiej? tongue.gif
Masz rację bardziej przejrzyście smile.gif.

Cytat
BTW Nie wypada dodać else przed niektóre ify? ^
Właśnie dodałem i mam ten efekt co przed tem...

Cytat
Parse error: syntax error, unexpected '{' in /cms1/modules/profile/actionpassword.php on line 31


A jak mam if'y to ten else na samym dole krzyczy, że jest coś też nie tak.
Go to the top of the page
+Quote Post
cadavre
post
Post #7





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


To może to jakiś błąd w pliku, który include'ujesz do skryptu? Napisz która linijka to 31 w tym co wkleiłeś, bo widzę (...) tutaj.


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
neoski
post
Post #8





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 31.07.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Tak dokładnie wygląda cały plik:

  1. <?php if($access<1) { print "$noacc"; } else { ?>
  2.  
  3. <TABLE width="<?php print "$width0" ?>" bgcolor="<?php print "$bgcolor0" ?>" border="0" cellspacing="1" cellpadding="3">
  4. <TR>
  5. <TD background="<?php print "$background0" ?>" align="center" colspan="2"><span class="content-title">Profil - zmiana hasła</span></TD>
  6. </TR>
  7.  
  8. <TR bgcolor="<?php print "$bgcolor1" ?>">
  9. <TD>
  10. <?php $pw=$_POST["pw"];
  11. $pwn1=$_POST["pwn1"];
  12. $pwn2=$_POST["pwn2"];
  13. $error=0;
  14.  
  15. if (empty($pwn1) or empty($pwn2) or empty($pw)) { 
  16. $error++; 
  17. }
  18. if ($error==0) {
  19. $sql1="SELECT id, password FROM users WHERE id='$myid'";
  20. $data=mysql_query($sql1, $db);
  21. while($mypw=mysql_fetch_object($data)) {
  22. $password=$mypw->password; 
  23. }
  24. $md5pw=md5($pw);
  25. if ($password != $md5pw) { 
  26. print "<br>Podałeś <b>złe</b> stare hasło!<br><br>"; 
  27. }
  28. elseif ($password == $md5pw) { 
  29. print "<br>Nowe hasła nie pasują do siebie!<br><br>";
  30. }
  31. else ($pwn1 == $pwn2) { 
  32. $md5pw2=md5($pwn2);
  33. }
  34.  
  35. $update = "UPDATE users SET password='$md5pw2' WHERE id=$myid";
  36. $sqlaction = mysql_query($update);
  37. print "<br>Hasło pomyślnie zmienione<br><br><a href=\"index.php?id=news/index\">dalej</a><br><br>"; } ?>
  38. </TD>
  39. </TR>
  40. </TABLE>
  41.  
  42. <?php } ?>


W tym przypadku to będzie linijka 32.
Go to the top of the page
+Quote Post
crash
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


To, że uznałeś moją wypowiedź za atak na Twoją osobę nie znaczy, że nie napisałem tam co masz źle... I dalej masz ten sam bląd.
  1. <?php
  2. if( $access < 1 )
  3. {
  4.    echo $noacc;
  5. }
  6. else
  7. {
  8.  
  9. ?>
  10. <TABLE width="<?= $width0; ?>" bgcolor="<?= $bgcolor0; ?>" border="0" cellspacing="1" cellpadding="3">
  11.    <TR>
  12.        <TD background="<?= $background0; ?>" align="center" colspan="2"><span class="content-title">Profil - zmiana hasła</span></TD>
  13.    </TR>
  14.    <TR bgcolor="<?= $bgcolor1; ?>">
  15.       <TD>
  16.          <?php
  17.          
  18.          $pw   = $_POST[ 'pw' ];
  19.          $pwn1 = $_POST[ 'pwn1' ];
  20.          $pwn2 = $_POST[ 'pwn2' ];
  21.  
  22.          $error = 0;
  23.  
  24.          if( empty( $pwn1 ) or empty( $pwn2 ) or empty( $pw ) )
  25.          { 
  26.             $error++; 
  27.          }
  28.  
  29.          if( $error == 0 )
  30.          {
  31.             $sql1 = 'SELECT id, password FROM users WHERE id= ' . $myid; // zakładając, że pole id jest liczbą
  32.             $data = mysql_query( $sql1, $db );
  33.             
  34.             while( $mypw = mysql_fetch_object( $data ) )
  35.             {
  36.                $password = $mypw->password; 
  37.             }
  38.             
  39.             $md5pw = md5( $pw );
  40.             
  41.             if( $password != $md5pw )
  42.             { 
  43.                echo '<br>Podałeś <b>złe</b> stare hasło!<br><br>'; 
  44.             }
  45.             elseif( $pwn1 != $pwn2 )
  46.             { 
  47.                echo '<br>Nowe hasła nie pasują do siebie!<br><br>'; // jako to nie pasują?! Zły warunek miałeś...
  48.             }
  49.             else
  50.             { 
  51.                $md5pw2 = md5( $pwn2 );
  52.             }
  53.         
  54.             $update = 'UPDATE users SET password = "' . $md5pw2 . '" WHERE id= ' . $myid;
  55.             $sqlaction = mysql_query( $update );
  56.             
  57.             echo '<br>Hasło pomyślnie zmienione<br><br><a href="index.php?id=news/index">dalej</a><br><br>';
  58.         }
  59.         else
  60.         {
  61.            echo 'Wypełnij wszystkie pola!';
  62.         }
  63.         
  64.         ?>
  65.         </TD>
  66.     </TR>
  67. </TABLE>
  68.  
  69. <?php }

Nie wygląda to czytelniej?


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 03:31