Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Szybki syntax error
Forum PHP.pl > Forum > PHP
krzywomordus
Mam malutki problem do rozwiązania:
  1. <?php
  2. require ("config.php");
  3.  
  4. if ((!$_POST["login"]) || (!$_POST["haslo"])) {
  5.   header("Location: projekt.html");
  6.       exit;
  7.       }
  8.  
  9. $sql = "SELECT imie, nazwisko FROM users WHERE
  10.   nazwa = '$_POST["nazwa"]' AND
  11.   haslo = '$_POST["haslo"]';
  12. $wynik = mysql_query($mysqli,$sql,) or die(mysql_error($mysqli));
  13. ?>

W 11 linijce jest syntax error (unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING).
Tylko w którym miejscu? dry.gif
lord_t
Pomyśl, masz napisane aż za wyraźnie.
krzywomordus
Krok do przodu:
  1. <?php
  2. $sql = "SELECT imie, nazwisko FROM users WHERE
  3.   nazwa = "$_POST["nazwa"]" AND
  4.   haslo = "$_POST["haslo"]";
  5. ?>

Został tylko T_VARIABLE...
Tak, wiem, pomyślę.
MrPey
  1. <?php
  2. require ("config.php");
  3.  
  4. if ((!$_POST["login"]) || (!$_POST["haslo"])) {
  5.  header("Location: projekt.html");
  6.      exit;
  7.      }
  8.  
  9. $sql = "SELECT imie, nazwisko FROM users WHERE nazwa = '$_POST['nazwa']' AND haslo '$_POST['nazwa']'";
  10. $wynik = mysql_query($mysqli,$sql,) or die(mysql_error($mysqli));
  11.  
  12. ?>
krzywomordus
@MrPey:
Errorów jest jeszcze więcej.
Zgłupiałem, poddaję się.
MrPey
  1. <?php
  2. $nazwa = $_POST['nazwa'];
  3. $haslo = $_POST['haslo'];
  4. require ("config.php");
  5.  
  6. if ((!$_POST["login"]) || (!$_POST["haslo"])) {
  7.  header("Location: projekt.html");
  8.      exit;
  9.      }
  10.  
  11. $sql = "SELECT imie, nazwisko FROM users WHERE nazwa = '$nazwa' AND haslo = '$haslo'";
  12. $wynik = mysql_query($mysqli,$sql,) or die(mysql_error($mysqli));
  13. ?>


teraz?
melkorm
haha to się pośmiałem, jak już rzucacie gotowcami to chociaż poprawnymi winksmiley.jpg

  1. <?php require ("config.php");
  2.  
  3. if ((!$_POST["login"]) || (!$_POST["haslo"])) {
  4.  header("Location: projekt.html");
  5.      exit;
  6.      }
  7.  
  8. $sql = 'SELECT imie, nazwisko FROM users WHERE nazwa = ''.$_POST["nazwa"].'' AND haslo = ''.$_POST["haslo"].''';
  9. $wynik = mysql_query($sql,$mysqli) or die(mysql_error($mysqli));
  10.      
  11.      ?>


i teraz do poczytania:
1. mysql_query i kolejność argumentów i ich ilość winksmiley.jpg
2. Łączenie ciągów w PHP

edit: malutka poprawka winksmiley.jpg
krzywomordus
Dzięki za poprawne 12 linijek i lekturę, ale zanim uciekniesz, wytłumacz mi jeszcze unexpected T_ELSE w linijce 18:
  1. <?php
  2. require ("config.php");
  3.  
  4. if ((!$_POST["login"]) || (!$_POST["haslo"])) {
  5. header("Location: projekt.html");
  6.     exit;
  7.     }
  8.  
  9. $sql = 'SELECT imie, nazwisko FROM users WHERE nazwa = '.$_POST["nazwa"].' AND haslo = '.$_POST["haslo"];
  10. $wynik = mysql_query($sql,$mysqli) or die(mysql_error($mysqli));
  11.  
  12.   setcookie("auth", "1", 0, "/", "projekt.pl", 0);
  13.  
  14.   $wyswietlany_blok = "
  15.   Nic ciekawego";
  16. }
  17. else {
  18.   header("Location: projekt.html");
  19.   exit;
  20. }
  21. ?>
MrPey
nie możesz po prostu pomiędzy instrukcjami walnąć kodu.
melkorm
Zaopatrz się w jakiś program do sprawdzania poprawności kodu lub chociaż klamr winksmiley.jpg

poprawny if:

  1. <?php
  2. if(warunek) {
  3. //kod
  4. } else {
  5. //kod
  6. }
  7. ?>


a Ty masz :
  1. <?php
  2. if(warunek) {
  3. //kod
  4. }
  5. //kod -> to nie ma prawa tu być
  6. else {
  7. //kod
  8. }
  9. ?>


Tu jest troche więcej o IF'ie


P.S. A wystarczy że usuniesz tą część:

  1. <?php
  2. }
  3. else {
  4.  header("Location: projekt.html");
  5.  exit;
  6. }
  7. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.