Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]mysql_fetch_array
Forum PHP.pl > Forum > Przedszkole
K4mil94
Szukałem na forum, było ale nie znalazłem tam odpowiedzi. Mam kod na logowanie
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
  2. <head>
  3.  <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  4.  
  5.  <title>Kamil Design - Poznaj internet na nowo</title>
  6.  
  7.  <link rel="stylesheet" href="style.css" type="text/css">
  8. </head>
  9. <body>
  10. <?php
  11. include("include/config.php");
  12. $sumbit = $_POST['sumbit'];
  13. $nick = $_POST['nick'];
  14. $haslo = md5($_POST['haslo']);
  15. if(isset($sumbit)) {
  16.    if(empty($nick) && empty($haslo)) {
  17.    echo "Nie wypełniono wszystkich pól!";
  18.    }
  19.    else {
  20.    $zapytanie = "SELECT * FORM users WHERE nick='$nick' AND haslo='$haslo';";
  21.    $wynik = mysql_query($zapytanie);
  22.    $dane = mysql_fetch_array($wynik);
  23.    $login = $dane['login'];
  24.    $haslo2 = $dane['haslo'];
  25.    $poziom = $dane['poziom'];
  26.    
  27.    $_SESSION['username'] = $login;
  28.    $_SESSION['userpass'] = $haslo2;
  29.    $_SESSION['useracces'] = $poziom;
  30.    echo "Zostałeś zalogowany";
  31.    }
  32.    }
  33. ?>
  34. </body>
  35. </html>
I mam błąd:
mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/portalsi/public_html/moje_strony/portfolio/dzialy/loguj.php on line 22
nospor
takie bledy mozesz latwo sam analizowac
http://nospor.pl/php-faq-n29.html#faq-6
K4mil94
Znów literówka, zamiast FROM było FORM tylko nie wiem dlaczego nie tworzy mi sesji ;/
pianta_d
sesję zawsze startujesz na początku skryptu poleceniem

  1. <?php
  2. ?>


Poczytaj session_start()
K4mil94
Wstawiłem, lecz dalej nie robi. Mam na stronie głównej warunek. jak jest zalogowany to szukajka jak nie to logowanie. zawsze jest logowanie
pianta_d
  1. <?php
  2. $sumbit = $_POST['sumbit'];
  3. ?>



$_POST['sumbit'] a nie

$_POST['submit']


Pokaż jak dodałeś session_start();
K4mil94
<?php
session_start();
?>
pianta_d
Tylko musisz to wstawić najlepiej przed
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
  2. <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  3.  
  4. <title>Kamil Design - Poznaj internet na nowo</title>
  5.  
  6. <link rel="stylesheet" href="style.css" type="text/css">
  7. </head>


a juz napewno przed

InosU31
  1. <?php
  2. $zapytanie = "SELECT * FORM users WHERE nick='$nick' AND haslo='$haslo';"; // w tym miejscu po $haslo chyba nie daje sie srednika tylko na koncu;-)
  3.   $wynik = mysql_query($zapytanie);
  4.   $dane = mysql_fetch_array($wynik);
  5.   $login = $dane['login'];
  6.   $haslo2 = $dane['haslo'];
  7.   $poziom = $dane['poziom'];
  8. ?>


instrukcja mysql_fetch_array sluzy chyba do wypisania danych z bazy a u Ciebie jakos tego nie widze. pozatym do sprawdzania czy jest taki user uzyj tego :
  1. <?php
  2. if (mysql_num_rows($wynik) != 0)
  3. {
  4. echo "jestes zalogowany";
  5. }
  6. ?>
K4mil94
Początkuje w php zresztą już wszystko działa, tylko jak chce sie zarejestrować tu: http://kamilstudios.xt.pl/moje_strony/port...ona=rejestracja to mi myli ?strona=rejestruj z ?strona=loguj. w formularzu mam action=?strona=rejestruj
pianta_d
Gdzie powinno przenosic po zarejestrowaniu questionmark.gif

Zarejestrowalem sie - jest OK, ale zalogować się ni można
K4mil94
Nie widze cie w bazie. Po kliknieciu buttona ma iść na ?strona=rejestruj a po zalogowaniu na ?strona=loguj
pianta_d
Zarejestrowalem sie jako ss

edit

po zarejestrowaniu przenosi mnie na "strona=loguj"
K4mil94
Mam tylko siebie.

rejestracja.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
  2.  <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  3.  
  4.  <title>Kamil Design - Poznaj internet na nowo</title>
  5.  
  6.  <link rel="stylesheet" href="style.css" type="text/css">
  7. </head>
  8.  
  9. <?php include("include/config.php");
  10. echo "<center><h3>Rejestracja</h3>";
  11. echo "<form method=post action=?strona=rejestruj>Nick:<br />
  12. <input type=text name=nick2><br />
  13. Hasło:<br />
  14. <input type=password name=haslo2><br />
  15. E-mail:<br />
  16. <input type=text name=email><br />
  17. Miejscowość:<br />
  18. <input type=text name=miejscowosc><br />
  19. Gadu-Gadu:<br />
  20. <input type=text name=gg><br />
  21. Token: <em>4+5</em><br />
  22. <input type=text name=token><br />
  23. <button type=sumbit name=sumbit2>Zarejestruj</button><br />
  24. </form></center>";
  25. ?>
  26.  
  27. </body>
  28. </html>

rejestruj.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
  2. <head>
  3.  <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  4.  
  5.  <title>Kamil Design - Poznaj internet na nowo</title>
  6.  
  7.  <link rel="stylesheet" href="style.css" type="text/css">
  8. </head>
  9. <body>
  10. <?php
  11. include("include/config.php");
  12. if(isset($_POST['sumbit2'])) {
  13.    $nick = $_POST['nick2'];
  14.    $haslo = md5($_POST['haslo2']);
  15.    $email = $_POST['email'];
  16.    $miejscowosc = $_POST['miejscowosc'];
  17.    $gg = $_POST['gg'];
  18.    $tokenspr = 9;
  19.    $token = $_POST['token'];
  20.    $zapytanie = "SELECT nick FROM users WHERE nick='$nick';";
  21.    $wynik = mysql_query($zapytanie);
  22.    
  23.        if($nick == $wynik) {
  24.        echo "W bazie istnieje już uzytkownik o nicku: $nick<br />";
  25.        }
  26.        else {
  27.        }
  28.        
  29.        if(empty($nick) && empty($haslo) && empty($email)) {
  30.        echo "Nie wypełniłeś obowiązkowych pól!<br />";
  31.        }
  32.        else {
  33.        }
  34.        if($token == $tokenspr) {
  35.        }
  36.        else {echo "Źle wpisany token!<br />";}
  37.        if($nick && $haslo && $email) {
  38.        $zapytanie2 = "INSERT INTO `users`(`id`, `nick`, `haslo`, `email`, `miejscowosc`, `gg`, `poziom`) VALUES ('','$nick', '$haslo', '$email', '$miejscowosc', '$gg', '3');";
  39.        $wynik2 = mysql_query($zapytanie2);
  40.        echo "Rejestracja przebiegła pomyślnie!<br />";
  41.        }
  42.        else {
  43.        echo "Rejestracja się nie powiodła. Spróbuj jeszcze raz.<br />";
  44.        }
  45.        
  46.    }
  47.    ?>
  48.    </body>
  49.    </html>
pianta_d
Najpierw to

  1. <?php
  2. "SELECT `nick` FROM `users` WHERE `nick`='".$nick."'";
  3. ?>



potem to

  1. <?php
  2. $zapytanie2 = ("INSERT INTO `users`(`id`, `nick`, `haslo`, `email`, `miejscowosc`, `gg`, `poziom`) VALUES ('','".$nick."', '".$haslo."', '".$email."', '".$miejscowosc."', '".$gg."', '3'");
  3. ?>
K4mil94
Zmieniłem.
pianta_d
zobacz teraz czy masz usera ss
K4mil94
nie ma. Tak jak mówię formluarz zamiast na ?strona=rejestruj idzie na ?strona=loguj
trike
wydaje mi sie ze powtarzasz sie z instrukcjami warunkowymi, moze w tym jest blad.
  1. <?php
  2. if($nick == $wynik) {
  3.        echo "W bazie istnieje już uzytkownik o nicku: $nick<br />";
  4.        }
  5.        else { //po co to skoro do nic tu nie ma?
  6.        }
  7.        
  8.        if(empty($nick) && empty($haslo) && empty($email)) {
  9.        echo "Nie wypełniłeś obowiązkowych pól!<br />";
  10.        }
  11.        else {
  12.        }
  13.        if($token == $tokenspr) {
  14.        }
  15.        else {echo "Źle wpisany token!<br />";}
  16.        if($nick && $haslo && $email) {//to jest odwrotnoscia tego (empty($nick) && empty($haslo) && empty($email)) , kod ponizej wlozylbym w else do instrukcji gdzie masz warunki empty($nick) .... i do warunku dolozyl jeszcze token
  17.        $zapytanie2 = "INSERT INTO `users`(`id`, `nick`, `haslo`, `email`, `miejscowosc`, `gg`, `poziom`) VALUES ('','$nick', '$haslo', '$email', '$miejscowosc', '$gg', '3');";
  18.        $wynik2 = mysql_query($zapytanie2);
  19.        echo "Rejestracja przebiegła pomyślnie!<br />";
  20.        }
  21.        else {
  22.        echo "Rejestracja się nie powiodła. Spróbuj jeszcze raz.<br />";
  23.        }
  24. ?>
pianta_d
dostales wiadomosc na PW
K4mil94
Piana wyslałem.
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.