Jump to content
GSForum - Segélyvonal

Regisztrációs rendszer használata


maszk

Recommended Posts

maszk

Csináltam egy PHP oldalt és szeretném használni a regisztrációs rendszert! Sajnos én nem tudom hogyan kell használni, ezért jól jönne a ti segítségetek!!! :)

Link to comment
Share on other sites

HK

Milyen regisztrációs rendszert? Nem valami PHP Nuke szerű rendszert állítottál üzembe? Ha meg te írtad az oldalt, neked kell a reg.rendszert is megcsinálni.

Link to comment
Share on other sites

maszk

Regisztráció és utána jelszavas belépés! Én csak a segítségeteket akartam kérni! Bocsi. :Sír:

Így világosabb?

Link to comment
Share on other sites

Kiskalóz

Te írtad a php kódokat?

Vagy letöltötted valahonnan? (Tudsz php-t programozni?)

Link to comment
Share on other sites

HK

Ha tudsz PHP-ül, akkor csinálsz egy form-ot, amiben bekéred a regelő user felhasználónevét, jelszavát, majd lecsekkolod, hogy van-e már olyan username, ha nincs berakod egy mysql-táblába, a jelszó kódolása szerintem md5()-el elegendő. (az md5 hasht tárolod el a jelszó mezőben, és ellenőrzéskor is azzal hasonlítod össze)

Belépés szintén egy formmal történik, a submit-ban összehasonlítod a username-t és a jelszót az adatbázisban lévővel, majd ha minden OK, beengeded a jelszóval védett részbe.

Link to comment
Share on other sites

  • 5 months later...
Titto

Sziasztok!

 

Egy PHP-s oldalba szeretnék beépíteni egy regisztráló rendszert csak az a gond hogy a tudásom 0 a Php-hoz, tehát nem tudom én magam megírni. Nincs ehhez valami program amivel könnyen és egyszerűen meg lehetne oldani?

Előre is köszönöm.

Link to comment
Share on other sites

Garono

Khm:

Nagyon szépen megkérek minden érdeklõdõt, hogy nulla PHP tudással ne tegyen fel kérdéseket!

 

Egyébként használj valamilyen CMS rendszert (pl. phpNuke, Joomla, Drupal, stb.).

Link to comment
Share on other sites

  • 4 months later...
Dani991

Sziasztok!

 

Elkezdtem PHP-vel foglalkozni, egy ideig minden jól ment, de aztán problémába ütköztem.

<?php

  $user = "user";
  $password = "password";
  $database = "database";
  $host = "host";
  
  $connecting = @mysql_connect ( $host, $user, $password )
    or die ( `$sor7` .
             `<a href=\"registration.php\">$sor9</a>` );
  @mysql_select_db ( $database )
    or die ( "$sor7" .
             "<a href=\"registration.php\">$sor9</a>" );
  $email4 = mysql_query( "SELECT * FROM registration WHERE email5 = '$email2'");
  $rows = mysql_num_rows( $email4 );
  $name2 = $_POST['name'];
  $country2 = $_POST['country'];
  $city2 = $_POST['city'];
  
  $command = "INSERT INTO registration ( email5, pass, name, country, city )
              VALUES ( `$email2`, `$pass2`, `$name2`, `$country2`, `$city2` )";
  
  if ( $rows == false ){
  
  print "$sor8";
  
  mysql_query($command, $connecting);
  
  } else {
    print "$sor10" .
    "<a href=\"registration.php\">$sor9</a>"; }
    
    mysql_close( $connecting );
?>

 

Csináltam egy regisztrációs ûrlapot, és azt szeretném, ha a felhasználó által beírt adatokat elküldené az adatbázisba. A hiba a fenti kódrészletben van, a mysql_query() résznél. Többféle leírást olvastam már, van, aki szerint kell utána pontosvesszõ, van, aki szerint nem kell.

Ha teszek pontosvesszõt, akkor ezt a hibaüzenetet kapom:

mysql_query(): MySQL error: Unknown column 'xy@xy.com' in 'field list'

Az xy@xy.com helyére azt írja, amit a felhasználó beír az e-mail mezõbe. Nem értem, miért írja ezt, mert az adatbázisban csináltam egy email5 nevû oszlopot és elvileg az xy@xy.com ennek az oszlopnak az értéke lenne, nem pedig egy másik oszlop.

 

Ha nem teszek pontosvesszõt, akkor ezt írja:

Parse error: syntax error, unexpected '}'

Az aposztrófok közé mindig azt írja, ami a mysql_query() után jön.

Link to comment
Share on other sites

Kiskalóz

Korábban van a lekérdezés mint ahogy felviszed az adatokat. Gondolom ellenõrizni akarod hogy létezik-e már az az email cím. Akkor viszont 1 if-el tudod megoldani.

 

pl:

if(isset($_POST['email'])){
    
     $email=trim($_POST['email']);
    
    $ell=dbQuery("Select * from reg where email='".$email."' ");
    if(mysql_num_rows($ell) <= 0){
    
     
     dbQuery("Insert Into reg(email, datum)" 
                  ."Values('".$email."',
                           '".time()."'  )");

                  $value="Sikeres felvitel!";
                  
           echo"<script language=\"JavaScript\">alert('A(z) $email címet eltároltuk! Köszönjük!');</SCRIPT>";    
        }else {        
         echo"<script language=\"JavaScript\">alert('Már létezik az email cím az adatbázisban!');
</SCRIPT>";
}
}

Link to comment
Share on other sites

Dani991

Köszi a segítséget! A problémát félig-meddig sikerült megoldani. Már nem ír ki semmilyen hibaüzenetet, de nem is hoz létre sorokat az adatbázisban. :upsz:

A forráskód most így néz ki:

<?php

  $user = "user";
  $password = "password";
  $database = "database";
  $host = "host";
  
  $connecting = "@mysql_connect ( $host, $user, $password ) @mysql_select_db ( $database )";
  $email4 = @mysql_query( "SELECT * FROM registration WHERE email5 = '$email2'");
  $rows = @mysql_num_rows( $email4 );
  $name2 = $_POST['name'];
  $country2 = $_POST['country'];
  $city2 = $_POST['city'];
  
  $command = "INSERT INTO registration ( email5, pass, name, country, city )
              VALUES ( `$email2`, `$pass2`, `$name2`, `$country2`, `$city2` )";
              
  @mysql_connect ( $host, $user, $password );
  @mysql_select_db ( $database );
  
  if ( $rows == 0 ){
  
  print "$sor8";
  
  @mysql_query($command, $connecting);
  
  } else {
    print "$sor10" .
    "<a href=\"registration.php\">$sor9</a>"; }
    
    @mysql_close( $connecting );
?>

A vége felé, a mysql_query() mellett van egy olyan rész, hogy print "$sor8";. Na, a $sor8 változó értékét ki is írja rendesen, de mégsem hozza létre a sort az adatbázisban, pedig az if-es részben egymás mellett van a két parancs.

Link to comment
Share on other sites

Kiskalóz

A $host biztos jó? Nem localhostnak kell lennie?

Link to comment
Share on other sites

Dani991

Eredetileg simonfemprof.extra.sql, csak az egyszerűség kedvéért itt a fórumon átírtam. Egyébként meg, ha nem lenne jó, akkor szerintem már hibaüzenettel bombázna, de amint írtam, egy deka hibaüzenetet nem ír és ezért nem értem, hogy akkor miért nem hozza létre a sorokat.

Link to comment
Share on other sites

Kiskalóz

Akkor már csak 1 ötletem van. Nézd meg, hogy létezik-e minden adat amit fel akarsz vinni. A felvitel helyett csinálj 1 print-et.

Link to comment
Share on other sites

Dani991

Minden adat létezik, a print mindent kiír.

Link to comment
Share on other sites

h.arpad

Meg kéne próbálni kamu adatokkal phpMyAdmin-ban lefuttatni az SQL-kérést ($command). Ha ott létrehozza a sort, akkor kezdj el csak a kódban kutakodni.

Link to comment
Share on other sites

Dani991

Így sem hozta létre a sort. Ezt a hibaüzenetet írja:

Hiba

 

SQL-kérés:

 

INSERT INTO registration( email5, pass, name, country, city )

VALUES (

`e-mail cím` , `jelszó` , `név` , `ország` , `város`

)

 

 

MySQL jelzi:

#1054 - Unknown column 'e-mail cÃm' in 'field list'

Link to comment
Share on other sites

Kiskalóz

Valami adat nem létezik. Vagy az adatbázisban a tábla, vagy a sor.. de tuti valami ilyen hiba van.

Link to comment
Share on other sites

molnid

Szia!

 

Van ez a 3 jel: ', ", `

 

Te az értékeknél a 3.-at használod, ami szerintem nem jó. Azt az adatbázis az objektumok neveire használja. (adatbázis, tábla, mező).

 

Lehet, hogy félrenéztem, vagy félreértettem.

Link to comment
Share on other sites

Dani991

@Kiskalóz: A táblát létrehoztam és az oszlopokat is.

@molnid: Az általad leírt 3 jel közül az elsőnél és a harmadiknál nem ír hibaüzenetet. Ha a másodikat használom, az nem jó, mert összeakad azzal, ami az INSERT INTO... elött van. Ha pedig ez utóbbit cserélem ki, akkor ezt a hibaüzenetet kapom:

shell_exec() has been disabled for security reasons

 

Szerk.: phpMyAdmin-ban megint lefuttattam a kérést, csak most kicseréltem a ` jeleket ' jelekre. Így létrehozta a sort a táblában. Ki is cseréltem ezeket a jeleket a php kódban is, de így továbbra sem hoz létre sorokat.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...