PHP: strefaphp.net
PHP: strefaphp.net



 
Czy odwiedziłeś już te strony? -
dodał: Vengeance

Temat: Logowanie rejestracja
Autor
Data: 02-02-2008 22:45
michu9010

dołączył:
02-02-2008 
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


a to ten zaczety z bledem plik {users.php}

Kod:


<?php session_start(); ?>
<?php
//wczytanie pliku z funkcjami
  
require_once ("funkcje.php");
//rozpoczecie sesji

session_cache_limiter('nocache');
//kod PHP
$result mysql_query("SELECT login, gg, mail FROM users");
while (
$row mysql_fetch_array($resultMYSQL_NUM))
 {
    echo 
"<TR><TD>" $row["login"] .
         
"</TD><TD>" $tab_user["gg"] .
         
"</TD></TR>\n";


mysql_free_result($result);
mysql_close($link);
}
?>


o to baza
[sql]

CREATE TABLE `users` (
`nr` int(20) NOT NULL auto_increment,
`login` varchar(20) NOT NULL default '',
`gg` varchar(10) NOT NULL default '',
`skad` varchar(30) NOT NULL default '',
`plec` varchar(20) NOT NULL default '',
`haslo` varchar(20) NOT NULL default '',
`data` varchar(20) NOT NULL default '',
PRIMARY KEY (`nr`)
) TYPE=MyISAM AUTO_INCREMENT=33 ;
[/sql]
a to glowny plik z fukcjami :

Kod:


<?php 

function pol_mysql()
{


//ustawiamy teraz dane naszej bazy 
$db_host 'localhost';
$db_user 'krasnal';
$db_pass 'krasnal';
$db_name 'krasnal';

//ustawiamy polaczenie z baza danych
$lacz mysql_pconnect($db_host$db_user$db_pass);
    if(!
$lacz)
    {
     echo 
"Wystapil blad: Polaczenie z baza nie powiodlo sie.";
     exit;  }

//wybieramy baze 
if(!@mysql_select_db($db_name$lacz)) {
echo 
'<b>Baza danych chwilowo niedostepna. Przepraszamy.</b>';
exit;   }

}

function 
wynik_db_do_tablicy($wynik)
{
  
$tablica_wyn=array();

  for(
$licznik=0$rzad=@mysql_fetch_array($wynik); $licznik++)
    
$tablica_wyn[$licznik]=$rzad;

  return 
$tablica_wyn;
}

function 
html_url($url$nazwa)
{
  
// wyswietlenie URL-a jako lacza
?>
  <P align="center">
  <a href="<?=$url?>"><?=$nazwa?></a>
  </P>
<?
}

//wyswietla nam pole do zalogowania sie, badz rejestracji ;)
function wy_form_logo()
{
?>
  <form method=post action="uzytkownicy.php?m=log">
  <TABLE ALIGN="center">
   <tr>
   <td><b>Login:</b></td>
     <td><input type=text name="login"></td>
     <td><b>Haslo:</b></td>
     <td><INPUT type=password name="haslo"></td>
     <td align=center colspan=2>
     <INPUT TYPE="SUBMIT" VALUE="Zaloguj"></td>
     <td><a href="uzytkownicy.php?m=rejestracja">Rejestracja</a></td>
     </tr>
 </table></form>

<?
}
// formularz rejestracji
function dodaj_form()
{
?>
  <form method=post action="rejestracja.php">
  <TABLE ALIGN="center">
   <tr>
     <td colspan=2><H1>Dodanie nowego uzytkownika</H1><TD></TD></td>
   <tr>
     <td>Login:</td>
     <td><input type=text name=login></td></tr>
   <tr>
     <td>Numer Gadu-Gadu:</td>
     <td><input type=text name=gg></td></tr>
   <tr>
     <td>Skšd jeste&#156;:</td>
     <td><input type=tekst name=skad></td></tr>
   <tr>
     <td>Plec:</td>
     <td>Mezczyzna: <input type="radio" value="m" checked name="plec"> Kobieta: <input type="radio" name="plec" value="k"></td></tr>
   <tr>
     <td>Haslo:</td>
     <td><input type=password name=haslo></td></tr>
   <tr>
     <td>Powtórz haslo:</td>
        <td><input type=password name=haslo2></td></tr>
   <tr><td colspan=2><h4>Haslo powinno skladac sie z  nie wiecej niz 12 znaków.</H4></td></TR>
   <tr>
     <td align=center colspan=2>
     <input type=submit value="Zapisz"></td></TABLE></form>
<?
      html_url
("login.php""Logowanie");
}
//dodajemy uzytkownika do bazy danych
function dodaj_usera($login$gg$skad$plec$haslo$haslo2)
{
    if (
$haslo != $haslo2)
    {
        echo 
"<H3 ALIGN=center>Hasla nie sa takie same.</h3>";
        
dodaj_form();
        exit;
    }
  
$polaczeniepol_mysql();
  
// sprawdzenie, czy login nie powtarza sie
  
$wynik mysql_query("select * from users where login='$login'");
  if(!
$wynik)
    return 
"Problem: zapytanie z bazy nieudane";
  if (
mysql_num_rows($wynik)>0)
    {
    echo 
"<H3 ALIGN=center>Uzytkownik o takiej nazwie jest juz zarejestrowany, spróbuj inny login</h3>";
    
dodaj_form();
    exit;
    }
  
$czas date("j-m-Y-G:i:s");
  
// umieszczenie usera w bazie danych
  
$zapytanie "insert into users values
                 ('', '$login', '$gg', '$skad', '$plec', '$haslo', '$czas')"
;
  
$wynik=mysql_query($zapytanie);
if(
$wynik)
    {
    echo 
"<H3 ALIGN=center>Rejestracja zakonczona pomy&#156;lnie</h3>";
    echo 
"<H4 ALIGN=center><a href='login.php'>Strona Logowania</a></h4>";
    exit;
    }
  return 
true;
}

function 
logowanie($login$haslo)
{
  
$polaczeniepol_mysql();
  
// sprawdzenie, czy login nie powtarza sie
  
$wynik mysql_query("select * from users where login='$login'");
  if(!
$wynik)
    return 
"Problem: zapytanie z bazy nieudane";
  if (
mysql_num_rows($wynik)== 0)
    {
    echo 
"<H3 ALIGN=center>Niema takiego uzytkownika w bazie danych</h3>";
    
wy_form_logo();
    exit;
    }
  
$tab_user wynik_db_do_tablicy($wynik);
  if (
$tab_user[0]['haslo'] != $haslo)
    {
      echo 
"<H3 ALIGN=center>Niepoprawne haslo</h3>";
    
wy_form_logo();
    exit;
    }
   
$user $login;
   
//rejestrowanie danych sesji
   
session_register("user");
   echo 
"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>";
   echo 
"<a href=omnie.php>Strona o mnie</a>";

}
?> 


kto mi pomoze??  
Cytuj   Profil Email Strona www 
Autor
Data: 27-02-2008 08:31
piwko28

dołączył:
27-02-2008 
Nie widzę, żebyś wykonywał funkcję, która odpowiada za łączenie z bazą danych. Poza tym brak pola mail w tabeli. Ten błąd oznacza, że w poleceniu SQL jest błąd - może też przez brak połączenia z bazą. Masz przecież niezbędne funkcje do sprawdzania błędów SQL.. Odsyłam Cię do pl.php.net - manuala php. 
Cytuj   Profil Email 
Autor
Data: 28-02-2008 01:35
prgTW

dołączył:
26-09-2004 
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource" mowi Ci ze parametr (wynik zapytania nie jest prawidlowym wskaznikiem na zbior wynikow ... czyli Twoje zapytanie ma blad. Jaki ... odpalilbys

Kod:

print mysql_error()


i bys wiedzial ale juz powiem ... a gdzie masz w tabeli mysql kolumne 'mail' ?

Pozdrawiam
:: prgTW :: 
Cytuj   Profil Email Strona www Komunikator

 

Polecamy
PHP: strefaphp.net
wyślij email informacje forum download skrypty katalog kursy porady artykuły home współpraca reklama kontakt