Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Logowanie i rejestracja
Forum PHP.pl > Forum > Przedszkole
michu9010
mam problem jak wyswietlicz dane zawarte w bazie MYSQL(login, numer gg, mail)? napisalem troche napisalem skryptu ale wywala mi blad
Kod
  
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>c:\usr\apache\httpd\html\check.php on line 10[/color]

a to ten zaczety z bledem plik {users.php}
  1. <?php session_start[/color][color="#007700"](); [/color][color="#0000bb"]?> 
  2. <?php 
  3. [/color][color="#ff8000"]//wczytanie pliku z funkcjami 
  4. [/color][color="#007700"]require_once ([/color][color="#dd0000"]"funkcje.php"[/color][color="#007700"]); 
  5. [/color][color="#ff8000"]//rozpoczecie sesji 
  6.  
  7. [/color][color="#0000bb"]session_cache_limiter[/color][color="#007700"]([/color][color="#dd0000"]'nocache'[/color][color="#007700"]); 
  8. [/color][color="#ff8000"]//kod PHP 
  9. [/color][color="#0000bb"]$result [/color][color="#007700"]= [/color][color="#0000bb"]mysql_query[/color][color="#007700"]([/color][color="#dd0000"]"SELECT login, gg, mail FROM users"[/color][color="#007700"]); 
  10. while ([/color][color="#0000bb"]$row [/color][color="#007700"]= [/color][color="#0000bb"]mysql_fetch_array[/color][color="#007700"]([/color][color="#0000bb"]$result[/color][color="#007700"], [/color][color="#0000bb"]MYSQL_NUM[/color][color="#007700"])) 
  11.  { 
  12. echo [/color][color="#dd0000"]"<TR><TD>" [/color][color="#007700"]. [/color][color="#0000bb"]$row[/color][color="#007700"][[/color][color="#dd0000"]"login"[/color][color="#007700"]] . 
  13.  [/color][color="#dd0000"]"</TD><TD>" [/color][color="#007700"]. [/color][color="#0000bb"]$tab_user[/color][color="#007700"][[/color][color="#dd0000"]"gg"[/color][color="#007700"]] . 
  14.  [/color][color="#dd0000"]"</TD></TR>n"[/color][color="#007700"]; 
  15.  
  16.  
  17. [/color][color="#0000bb"]mysql_free_result[/color][color="#007700"]([/color][color="#0000bb"]$result[/color][color="#007700"]); 
  18. [/color][color="#0000bb"]mysql_close[/color][color="#007700"]([/color][color="#0000bb"]$link[/color][color="#007700"]); 
  19. } 
  20. [/color][color="#0000bb"]?> 
  21.  



o to baza
  1. CREATE TABLE `users` (
  2. `nr` int(20) NOT NULL AUTO_INCREMENT,
  3. `login` varchar(20) NOT NULL DEFAULT '',
  4. `gg` varchar(10) NOT NULL DEFAULT '',
  5. `skad` varchar(30) NOT NULL DEFAULT '',
  6. `plec` varchar(20) NOT NULL DEFAULT '',
  7. `haslo` varchar(20) NOT NULL DEFAULT '',
  8. `data` varchar(20) NOT NULL DEFAULT '',
  9. PRIMARY KEY (`nr`)
  10. ) TYPE=MyISAM AUTO_INCREMENT=33 ;


kto mi pomoze??
Cysiaczek
O Matko! Coś Ty zrobił z tym bbcode? Popraw to snitch.gif

Przenoszę na przedszkole.
nowotny
  1. "SELECT login, gg, mail FROM users"

Według tego:
  1. CREATE TABLE `users` (
  2. `nr` int(20) NOT NULL AUTO_INCREMENT,
  3. `login` varchar(20) NOT NULL DEFAULT '',
  4. `gg` varchar(10) NOT NULL DEFAULT '',
  5. `skad` varchar(30) NOT NULL DEFAULT '',
  6. `plec` varchar(20) NOT NULL DEFAULT '',
  7. `haslo` varchar(20) NOT NULL DEFAULT '',
  8. `data` varchar(20) NOT NULL DEFAULT '',
  9. PRIMARY KEY (`nr`)
  10. ) TYPE=MyISAM AUTO_INCREMENT=33 ;


Nie masz w ogóle kolumny 'mail' w tabeli...
michu9010
no to bez email wazne zeby pokazywal
a to plik {users.php}
  1. <?php session_start(); ?>
  2. <?php
  3. //wczytanie pliku z funkcjami
  4. require_once ("funkcje.php");
  5. //rozpoczecie sesji
  6.  
  7. //kod PHP
  8. $result = mysql_query("SELECT login, gg FROM krasnal");
  9. while ($row = mysql_fetch_array($result, MYSQL_NUM))
  10.  {
  11. echo "<TR><TD>" . $row["login"] .
  12.  "</TD><TD>" . $tab_user["gg"] .
  13.  "</TD></TR>\n";
  14.  
  15.  
  16. mysql_close($link);
  17. }
  18. ?>
nowotny
Podaj no jeszcze raz jaki błąd ci wyskakuje, bo w pierwszym poście wskazuje na błąd w pliku "c:\usr\apache\httpd\html\check.php" a dajesz nam tu users.php...

Poza tym, to nie będzie działać:
  1. <?php
  2. while ($row = mysql_fetch_array($result, MYSQL_NUM))
  3.  {
  4. echo "<TR><TD>" . $row["login"] .
  5.  "</TD><TD>" . $tab_user["gg"] .
  6.  "</TD></TR>\n";
  7. }
  8. ?>

Po pierwsze, $row jest tablicą numeryczną, więc odwołanie przez $row['login'] nic ci nie zwróci... Po drugie, zmienna $tab_user["gg"] też ci nic nie zwróci...
michu9010
bo chceck i users to jest ten sam plik party.gif mi tylko chodzi o to jak napisac skrypt ktory ma zadanie wyswietlic wszystkich uzytkownikow z bazy i ich num gg i email i kiedy zostal zarejstrowany. ;p
{check.php}
  1. <?php session_start(); ?>
  2. <?php
  3. //wczytanie pliku z funkcjami
  4. require_once ("funkcje.php");
  5. //rozpoczecie sesji
  6.  
  7. //kod PHP
  8. $result = mysql_query("SELECT login, gg FROM krasnal");
  9. while ($row = mysql_fetch_array($result, MYSQL_NUM))
  10.  {
  11. echo "<TR><TD>" . $row["login"] .
  12.  "</TD><TD>" . $tab_user["gg"] .
  13.  "</TD></TR>\n";
  14.  
  15.  
  16. mysql_close($link);
  17. }
  18. ?>

Kod
     <b>Warning</b>:  mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>c:\usr\apache\httpd\html\check.php</b> on line <b>10

a to ta baza
  1. CREATE TABLE `users` (
  2. `nr` int(20) NOT NULL AUTO_INCREMENT,
  3. `login` varchar(20) NOT NULL DEFAULT '',
  4. `email` text NOT NULL DEFAULT '',
  5. `gg` varchar(10) NOT NULL DEFAULT '',
  6. `skad` varchar(30) NOT NULL DEFAULT '',
  7. `plec` varchar(20) NOT NULL DEFAULT '',
  8. `haslo` varchar(20) NOT NULL DEFAULT '',
  9. `data` varchar(20) NOT NULL DEFAULT '',
  10. PRIMARY KEY (`nr`)
  11. ) TYPE=MyISAM AUTO_INCREMENT=33 ;

ale mam jeszcze jeden problem ;/ gdy dodalem jedno pole email to wywala mi blad
Kod
</b><b>Warning</b>:  Missing argument 7 for dodaj_usera() in <b>c:\usr\apache\httpd\html\funkcje.php</b> on line <b>108

a plik funkcje.php wyglada tak:
  1. <?php 
  2.  
  3. function pol_mysql()
  4. {
  5.  
  6.  
  7. //ustawiamy teraz dane naszej bazy 
  8. $db_host = 'localhost';
  9. $db_user = 'krasnal';
  10. $db_pass = 'krasnal';
  11. $db_name = 'krasnal';
  12.  
  13. //ustawiamy polaczenie z baza danych
  14. $lacz = mysql_pconnect($db_host, $db_user, $db_pass);
  15. if(!$lacz)
  16. {
  17.  echo "Wystapil blad: Polaczenie z baza nie powiodlo sie.";
  18.  exit; }
  19.  
  20. //wybieramy baze 
  21. if(!@mysql_select_db($db_name, $lacz)) {
  22. echo '<b>Baza danych chwilowo niedostepna. Przepraszamy.</b>';
  23. exit;  }
  24.  
  25. }
  26.  
  27. function wynik_db_do_tablicy($wynik)
  28. {
  29. $tablica_wyn=array();
  30.  
  31. for($licznik=0; $rzad=@mysql_fetch_array($wynik); $licznik++)
  32. $tablica_wyn[$licznik]=$rzad;
  33.  
  34. return $tablica_wyn;
  35. }
  36.  
  37. function html_url($url, $nazwa)
  38. {
  39. // wyswietlenie URL-a jako lacza
  40. ?>
  41. <P align="center">
  42. <a href="<?=$url?>"><?=$nazwa?></a>
  43. </P>
  44. <?
  45. }
  46. function wy_form_logo()
  47. {
  48. ?>
  49. <form method=post action="uzytkownicy.php?m=log">
  50. <TABLE ALIGN="center">
  51.  <tr>
  52.  <td><b>Login:</b></td>
  53.  <td><input type=text name="login"></td>
  54.  <td><b>Haslo:</b></td>
  55.  <td><INPUT type=password name="haslo"></td>
  56.  <td align=center colspan=2>
  57.  <INPUT TYPE="SUBMIT" VALUE="Zaloguj"></td>
  58.  <td><a href="uzytkownicy.php?m=rejestracja">Rejestracja</a></td>
  59.  </tr>
  60.  </table></form>
  61. <?
  62.  
  63. include('down.php');
  64. }
  65. // formularz rejestracji
  66. function dodaj_form()
  67. {
  68. ?>
  69. <form method=post action="rejestracja.php">
  70. <TABLE ALIGN="center">
  71.  <tr>
  72.  <td colspan=2>Dodanie nowego uzytkownika<<TD></TD></td>
  73.  <tr>
  74.  <td>Login:</td>
  75.  <td><input type=text name=login></td></tr>
  76.  <tr>
  77.  <td>Numer Gadu-Gadu:</td>
  78.  <td><input type=text name=gg></td></tr>
  79.  <tr>
  80.  <td>Skšd jesteœ:</td>
  81.  <td><input type=tekst name=skad></td></tr>
  82.  <tr>
  83.  <td>Plec:</td>
  84.  <td>Mezczyzna: <input type="radio" value="m" checked name="plec"> Kobieta: <input type="radio" name="plec" value="k"></td></tr>
  85.  <tr>
  86.  <td>Haslo:</td>
  87.  <td><input type=password name=haslo></td></tr>
  88.  <tr>
  89.  <td>Powtórz haslo:</td>
  90.  <td><input type=password name=haslo2 /></td>
  91.  </tr>
  92.  <tr>
  93.  <td>Twoj E-mail </td>
  94. <td><input type=text name="email" /></td></tr>
  95.  <tr><td colspan=2><h4>Haslo powinno skladac sie z nie wiecej niz 12 znaków.</H4></td></TR>
  96.  <tr>
  97.  <td align=center colspan=2>
  98.  <input type=submit value="Zapisz"></td>
  99.  <tr>
  100.  <td align=center colspan=2>&nbsp;</td>
  101.  </TABLE>
  102. </form>
  103. <?
  104. include ('down.php');
  105. }
  106. //dodajemy uzytkownika do bazy danych
  107. include ('top.php');
  108. function dodaj_usera($login, $email, $gg, $skad, $plec, $haslo, $haslo2 )
  109. {
  110. if ($haslo != $haslo2)
  111. {
  112. echo "<H3 ALIGN=center>Hasla nie sa takie same.</h3>";
  113. dodaj_form();
  114. }
  115. $polaczenie= pol_mysql();
  116. // sprawdzenie, czy login nie powtarza sie
  117. $wynik = mysql_query("select * from users where login='$login'");
  118. $wynik2 = mysql_query("select * from users where email='$email'");
  119. if(!$wynik)
  120. return "Problem: zapytanie z bazy nieudane";
  121. if (mysql_num_rows($wynik)>0)
  122. {
  123. echo "<H3 ALIGN=center>Uzytkownik o takiej nazwie lub email jest juz zarejestrowany, spróbuj inny lo
    gin</h3>"
    ;
  124. dodaj_form();
  125. }
  126.  
  127. $czas = date("j-m-Y-G:i:s");
  128. // umieszczenie usera w bazie danych
  129. $zapytanie = "insert into users values
  130.  ('', '$login','$email', '$gg', '$skad', '$plec', '$haslo', '$czas')";
  131. $wynik=mysql_query($zapytanie);
  132. if($wynik)
  133. {
  134. echo "<H3 ALIGN=center>Rejestracja zakonczona pomyœlnie</h3>";
  135. echo "<H4 ALIGN=center><a href='login.php'>Strona Logowania</a></h4>";
  136. }
  137. return true;
  138. }
  139. function logowanie($login, $haslo)
  140. {
  141. $polaczenie= pol_mysql();
  142. // sprawdzenie, czy login nie powtarza sie
  143. $wynik = mysql_query("select * from users where login='$login'");
  144. if(!$wynik)
  145. return "Problem: zapytanie z bazy nieudane";
  146. if (mysql_num_rows($wynik)== 0)
  147. {
  148. echo "<H3 ALIGN=center>Niema takiego uzytkownika w bazie danych</h3>";
  149. wy_form_logo();
  150. }
  151. $tab_user = wynik_db_do_tablicy($wynik);
  152. if ($tab_user[0]['haslo'] != $haslo)
  153. {
  154. echo "<H3 ALIGN=center>Niepoprawne haslo</h3>";
  155. wy_form_logo();
  156. }
  157.  $user = $login;
  158.  session_register("user");
  159.  echo "<center>zalogowany jako: <b>" .$user."</b>,<br> jestes z <b>".$tab_user[0]['skad']."-a</b>,<br> data twojej rejestracji to: <b>".$tab_user[0]['data']."</b>,<br> twoj numer gg to:<b>".$tab_user[0]['gg']."</b><img src=\"http://status.gadu-gadu.pl/users/status.asp?id=".$tab_user[0]['gg']."r&amp;styl=styl\" /> <br>";
  160.  echo "<a href=omnie.php>Strona o mnie</a></center>";
  161.  include('down.php');
  162.  
  163. }
  164. ?>


zapomnialem a dalo by rade sprawdzic czy email jest poprwany (czy jest @ zawarta) i wysyla emaila z aktywacja konta questionmark.gif
ja dopiero zaczynam nauke w php i jestem konkretnie zielony;/ a chcialbym stworzyc taki maly swoj portalik
jak ktos bedzie mi w stanie pomoc to mozna pisac na gg jestem niewidoczny
z gory dziekuje wszystkim
nowotny
Cytat(michu9010 @ 4.02.2008, 23:16:18 ) *
Kod
     <b>Warning</b>:  mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>c:\usr\apache\httpd\html\check.php</b> on line <b>10

Po pierwsze, w check.php nigdzie nie widze żebyś łączył się z bazą...
Po drugie, wywal MYSQL_NUM z mysql_fetch_array()...
Po trzecie, wywal mysql_free_result($result); i mysql_close($link); poza pętle while...

Cytat(michu9010 @ 4.02.2008, 23:16:18 ) *
ale mam jeszcze jeden problem ;/ gdy dodalem jedno pole email to wywala mi blad
Kod
</b><b>Warning</b>:  Missing argument 7 for dodaj_usera() in <b>c:\usr\apache\httpd\html\funkcje.php</b> on line <b>108

Gdzie dodałeś to pole email...? Nigdzie nie widze wywołania funkcji dodaj_usera()...


Cytat(michu9010 @ 4.02.2008, 23:16:18 ) *
zapomnialem a dalo by rade sprawdzic czy email jest poprwany (czy jest @ zawarta) i wysyla emaila z aktywacja konta questionmark.gif

Pewnie że by dało... wszystko się da... tongue.gif
marcio
AD
Cytat
zapomnialem a dalo by rade sprawdzic czy email jest poprwany (czy jest @ zawarta) i wysyla emaila z aktywacja konta questionmark.gif


Tak sprawdzasz czy domena jest dostepna
http://www.google.pl/search?hl=pl&q=ge...&lr=lang_pl

Tak czy email jest poprawny
  1. <?php
  2. function PoprawnyEmail($adres) 
  3.  { 
  4.  return (preg_match ("/(@.*@)|(..)|(@.)|(.@)|(^.)/", $adres) || 
  5.  preg_match("/^.+@([?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,3}|[0-9]{1,3})(]?)$/",$adres))); 
  6.  }
  7. ?>
michu9010
dodalem pole w formularzu i zmienna $email i bazie tak samo sie nazywa pole. wszystko znajduje sie w pliku funkcje.php ktory jest w poprzednim poscie. snitch.gif jak prowadzilem z zmiany to wywala az 3 bledy,
Kod
   Warning:  mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>c:\usr\apache\httpd\html\check.phpon line 10
      
   Warning:  mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\usr\apache\httpd\html\check.php on line 17
      
       Warning:  mysql_close(): supplied argument is not a valid MySQL-Link resource in c:\usr\apache\httpd\html\check.php on line 18
nowotny
No to pokaż te zmiany...

Dalej nie widze gdzie wywołujesz funkcje dodaj_usera()... pokaż gdzie to robisz...
michu9010
funkcja dodaj_usera(); jest w pliku funkje.php
1#
Kod
<td>Twoj E-mail </td>
         <td><input type=text name="email" /></td></tr>[/coe]
2#formularz [code]function dodaj_usera($login, $email, $gg, $skad, $plec, $haslo, $haslo2 )

tutaj jest a plik funkcje.php jest requildowany do wszystkich plikow.
nowotny
Cytat(michu9010 @ 5.02.2008, 11:08:55 ) *
funkcja dodaj_usera(); jest w pliku funkje.php

Ja wiem gdzie się znajduje deklaracja funkcji... za to nigdzie nie widzę jej wywołania...
michu9010
juz poprawilem blad blad w funkcje.php i dziala ale teraz tylko jak wyswietlicz wszystkich userow zarejestrowanych i ich num gg i email??
wie ktos?
potreb
Wyświetlić przez echo row['gg'];
michu9010
nie dziala sciana.gif
moze cos poprawisz?
  1. <?php
  2.  
  3. //wczytanie pliku z funkcjami
  4. require_once ("funkcje.php");
  5. //rozpoczecie sesji
  6. ?>
  7. <center>
  8. <?php
  9. //kod PHP
  10. if (session_is_registered("user"))
  11. {
  12. echo "<TR><TD>" . $row["login"] .
  13.  "</TD><TD>" . $row["gg"] .
  14.  "</TD></TR>\n";
  15. }
  16. else
  17. {
  18. echo "<H3 ALIGN=center>Nie masz uprawnien do korzystania z tej strony! Wróc i sie zaloguj</h3>";
  19. html_url("login.php", "Logowanie");
  20. include ('down.php');
  21. }
  22. ?> 
  23. </center>
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.