Jump to content
GSForum - Segélyvonal

php regisztráció


MafiaBoy

Recommended Posts

MafiaBoy

Egy login rendszert szeretnék létrehozni, ahol én adom meg a felhasználó

neveket és jelszavakat, és egy belinkelt honlapra dobjon be, ha helyes az

user és a pass, de úgy hogy, minden felhasználónak saját oldala legyen, amit

szintén én adok meg a kódban. A logint,kódot meg a site-ot, MySql-be mentse.

olyan van nekem ami php file-ba menti el a kódot stb. de az ugy nem jó.

 

config.php

<?php  
$users=array (  
    array (  
        "username"=>"user1",  
        "pass"=>"pass1",  
        "site"=>"http://www.realuh.info"  
    ),  
    array (  
        "username"=>"user2",  
        "pass"=>"pass2",  
        "site"=>"http://www.startlap.hu"  
    )  
);  
?>  

 

 

login.html

<form name="form1" method="get" action="login.php">  
<p>Felhasználónév:  
<input name="username" type="text" id="userinput">  
<br>  
<br>  
Jelszó:  
<input name="userpass" type="password" id="passinput">  
<br>  
<br>  
<input type="submit" name="Submit" value="Bejelentkezés">  
<input type="reset" name="Reset" value="Törlés">  
</p>  
</form>  

Kb. ez ennyi lenne, de jó lenne egy olyan amo MySql-be ment. Kérlek segítsetek. Elõre is köszi.

Link to comment
Share on other sites

Kiskalóz

SQL-ben tárold el a szükséges adatokat.

ami feltétlen kell:

- username

- password

- site

 

A login részét gondolom meg tudod írni.

Ekkor már egyszerû.

 

<?php

if(isset($_SESSION['akarmi'])){

include("'".$_SESSION['akarmi']['site']."'.php");
}
?>

Link to comment
Share on other sites

MafiaBoy

Mivel nem vagyok jó php-ben, megkérhetnélek arra, hogy megcsinálod légy szíves? :upsz: Kb. olyan alakban, mint ott nekem van, hogy már lehessen használni. Előre is nagyon köszi.

Link to comment
Share on other sites

Kiskalóz

Az hogy nem vagy jó php-ben az mit jelent?

 

Egy print "Hello world!" a max tudás?

Mert akkor kár nekikezdeni. Megírva nekem megvan sok ilyen. De hiába küldöm át, azt úgyis egyénileg be kell állítani. Gondolom az sem menne.

Link to comment
Share on other sites

MafiaBoy

1.

Helló. megcsináltam az adatbázist, tartalmazza a "Username", "pass" meg "site" -ot. A login részét, légy szíves megírnád nekem, hogy az adatbázisból olvassa ki őket. Köszi előre is.

 

2.

Egy másik variáns:

Nem muszáj az elsőt, szóval a login részt, mert van nekem egy valamilyen loginos. Elég lenne csak a Regisztrációs rész, amelyik az adatbázisba ment (mysql-be). Egy olyan, amiben a honlap egy alap mindenkinek, aki beregisztrál. Köszi előre is. (Inkább jobb lenne ez. :) )

 

<?php
echo "<h2>" . $area_settings[$iIndex[0]-1][0] . "</h2>\n";
echo "<div id=\"imLockTxt\">" . $area_settings[$iIndex[0]-1][1] . "<br />\n";
?>
<form id="imLockForm" action="imlogin.php" method="post">
<?php
if($session_error == true)
   echo "<span id=\"imLockAlert\">" . $local_string[4] . "</span><br />";
?>
<span class="imLockLabel"><?php echo $local_string[0]; ?></span><input class="imLockFld" type="text" name="user" /><br />
<span class="imLockLabel"><?php echo $local_string[1]; ?></span><input class="imLockFld" type="password" name="psw" /><br />
<input class="imLockBtn" type="submit" name="Submit" value="<?php echo $local_string[2]; ?>" />
<?php
if ($area_settings[$iIndex[0]-1][2] != "")
   echo "      <input class=\"imLockBtn\" type=\"button\" value=\"" . $local_string[3] . "\" onclick=\"window.location='" . $area_settings[$iIndex[0]-1][2] . "'\" />\n";
?>

<------- ez login résznek jó ??? csak az a kérdés, hogy hogy nyissa meg a más-más oldalakat.<---(meg szerintem ehez kell egy olyan ami a honlapra hivatkozik)

Link to comment
Share on other sites

Kiskalóz

Ám legyen...

 

Ami az adatbázisba írja az adatokat:

 

include("conf.php");

$sql=dbQuery("INSERT INTO tabla (username, password, site)"     ."Values(    '".db_up($felhasznalonev)."', 
                                                 '".db_up($jelszo)."',
                                                 '".db_up($site)."'  )");

Link to comment
Share on other sites

MafiaBoy

Köszi szépen a segitséget :szónok:

Link to comment
Share on other sites

  • 1 month later...
tjoco1

Üdv mindenkinek!

 

Felhasználó bevitelét szeretném megoldani adatbázisba rögzítéssel. Az adatbázis elkészült. A tábla neve: felhasznalo. A mezők: azonosito, felhasznalonev, vezeteknev, keresztnev, email, jelszo, datum. Egy html/php/mysql tanfolyamon kaptam arra példát, hogyan lehet űrlapból adatbázisba rögzíteni. Ezt használtam fel. A problémám: nem tudom hogyan kell megoldani, azt, hogy a rendszer ne engedjen két ugyanolyan felhasznalonevű egyént bevinni az adatbázisba. Kerestem erre is megoldásokat, az egyiket be is illesztettem, de továbbra is bevihetek két ugyanolyan felhasználó nevű tagot.

Ha minden igaz pirossal jelöltem az általam talált ellenőrzésre hivatott részt. Nem tudom mi a probléma.

Előre is köszönöm a segítséget!

 

<?php

// űrlapról kapott adat rendben van-e

if ($felhasznalonev == "" or $vezeteknev == "" or $keresztnev == "" or $jelszo == "" or $email == "") 
  print "<a href=felhasznalobevitel.html>Töltsd ki rendesen!</a>";
else {

    // adatok letárolása mysql táblába
  include("sql_proba.php");

//----------------- kiemelve ------------------------
$query = "SELECT felhasznalonev FROM felhasznalo WHERE felhasznalonev='$felhasznalonev'";
  $result = mysql_query($query);
  
  if (mysql_num_rows($result)!=0) 
  {$uzenet .= "<font color=red>A '$felhasznalonev' név már foglalt, kérjük válaszz másikat!</font></br>";
  $hiba = true; 
  
  }
//----------------- kiemelve eddig ------------------
  // aktuális dátum összeállítása megfelelő formátumban
  $datum = date ("Y-m-d H:i:s", time() );
  
  // a felhasználó adatainak letárolására kérjük a mysql-t
  $keres = "INSERT INTO felhasznalo (felhasznalonev, vezeteknev, keresztnev, jelszo, email, datum) 
            VALUES ('$felhasznalonev', '$vezeteknev', '$keresztnev', '$jelszo', '$email', '$datum')";
  mysql_query($keres, $connect) or die ("hibás kérés: $keres");
  echo "Az űrlap tartalma rögzítésre került! Köszönjük";
   
  }  
  
?>

Ne írj pirossal! (l. Fórumszabályzat) >h.arpad

Link to comment
Share on other sites

Tasi

Az a baj, hogy Te mindenképpen berakod a felhasználónevet az adatbázisba, ha van egyezés ha nincs. Megvizsgálod, hogy van-e egyezés, ha van kiirsz valamit, azután berakod az adatbázisba :)

 

if (mysql_num_rows($result)!=0) // egyezik, nem rakom be
else // nemegyezik, berakom

Link to comment
Share on other sites

tjoco1

Tehát úgy érted, hogy a dátum összeállításától kezdõdõ részt tegyem az else ágba?

if (mysql_num_rows($result)!=0) 
{$uzenet .= "<font color=red>A '$felhasznalonev' név már foglalt, kérjük válaszz másikat!</font></br>";
$hiba = true; 

}

else {
// aktuális dátum összeállítása megfelelõ formátumban
$datum = date ("Y-m-d H:i:s", time() );

// a felhasználó adatainak letárolására kérjük a mysql-t
$keres = "INSERT INTO felhasznalo (felhasznalonev, vezeteknev, keresztnev, jelszo, email, datum) 
VALUES ('$felhasznalonev', '$vezeteknev', '$keresztnev', '$jelszo', '$email', '$datum')";
mysql_query($keres, $connect) or die ("hibás kérés: $keres");
echo "Az ûrlap tartalma rögzítésre került! Köszönjük";
}

}

 

Így?

Ne írj pirossal! (l. Fórumszabályzat) >h.arpad

Link to comment
Share on other sites

Tasi

Igen, úgy.

Link to comment
Share on other sites

tjoco1

Ebben az esetben az történik, hogy az ûrlap mehet gombjának lenyomására betöltõdik ugyan a felhasznalobevitel.php fájl a böngészõbe, de az égegyvilágon nem történik semmi. Maga az oldal üres, és az adatbázisba sem kerül be semmi.

Link to comment
Share on other sites

Tasi

Hibát nem kaptál? Az elözõ üzenetedben van egy felesleges ' } ' az else után.

Link to comment
Share on other sites

tjoco1

Sajna semmilyen hibaüzenet nem jön. A ' } ' még a teljes kód legelsõ nyitójának a zárója, csak a részletben nem látszódott, a szerkesztõben mutatja is a párokat.

Link to comment
Share on other sites

Kiskalóz

Szerintem tedd ide be a feldolgozó kódot. Ilyen részletekbõl nehéz megmondani a hibát.

Link to comment
Share on other sites

tjoco1

Rendben! Íme:

 

<?php

// űrlapról kapott adat rendben van-e

if ($felhasznalonev == "" or $vezeteknev == "" or $keresztnev == "" or $jelszo == "" or $email == "") 
  print "<a href=felhasznalobevitel.html>Töltsd ki rendesen!</a>";

else {

    // adatok letárolása mysql táblába
  include("sql_proba.php");

    $query = "SELECT felhasznalonev FROM felhasznalo WHERE felhasznalonev='$felhasznalonev'";
    $result = mysql_query($query);
  
  if (mysql_num_rows($result)!=0) 
    {$uzenet .= "<font color=red>A '$felhasznalonev' név már foglalt, kérjük válaszz másikat!</font></br>";
    $hiba = true; 
    }
  
  else {

  // aktuális dátum összeállítása megfelelő formátumban
  $datum = date ("Y-m-d H:i:s", time() );
     
  // a felhasználó adatainak letárolására kérjük a mysql-t
  $keres = "INSERT INTO felhasznalo (felhasznalonev, vezeteknev, keresztnev, jelszo, email, datum) 
            VALUES ('$felhasznalonev', '$vezeteknev', '$keresztnev', '$jelszo', '$email', '$datum')";
  mysql_query($keres, $connect) or die ("hibás kérés: $keres");
  echo "Az űrlap tartalma rögzítésre került! Köszönjük";
  }
  
  }  
  


?>

Légy szíves, használd a

 jelölőt a szerkesztőben, azért van. Ő az:  >h.arpad
Link to comment
Share on other sites

Kiskalóz

if ($felhasznalonev == "" or $vezeteknev == "" or $keresztnev == "" or $jelszo == "" or $email == "") 

 

Ezeket a változókat hol hozod létre? Mert az 1 dolog hogy a form elküldi az adatokat, de azt nem változóban küldi.

Link to comment
Share on other sites

tjoco1

Hát, ahogy én értelmezem és látom, az van pedig amit mondasz: a form által elküldött adatok ezek, az ûrlap egyes mezõinek neve alapján. Csak a formos html állomány és az imént mutatott php állomány létezik egyelõre. A form:

 

<form action="felhasznalobevitel.php" method=post>
  Felhasználó név: <input name=felhasznalonev type=text size=80 maxlength=80><br>
  Vezetéknév: <input name=vezeteknev type=text size=80 maxlength=80><br>
  Keresztnév: <input name=keresztnev type=text size=80 maxlength=80><br>
  Jelszó: <input name=jelszo type=password size=80 maxlength=80><br>
  E-mail: <input name=email type=text size=80 maxlength=80><br>
  <input name=gomb type=submit value='Mehet'>
  </form>

 

Külön definiálnom kéne az említett változókat?

Link to comment
Share on other sites

Kiskalóz

Igen!

 

Pl

$felhasznalonev=trim($_POST['felhasznalonev']);
$jelszo=trim($_POST['jelszo']);

 

stb stb

Link to comment
Share on other sites

tjoco1

Köszi! Kipróbáltam. A kódsor elején még az adatellenõrzés elõtt definiáltam az általad megadott módszer szerint minden változót.

 

<?php

$felhasznalonev=trim($_POST['felhasznalonev']);
$vezeteknev=trim($_POST['vezeteknev']);
$keresztnev=trim($_POST['keresztnev']);
$jelszo=trim($_POST['jelszo']);
$email=trim($_POST['email']);

// ûrlapról kapott adat rendben van-e

if ($felhasznalonev == "" or $vezeteknev == "" or $keresztnev == "" or $jelszo == "" or $email == "") 
  print "<a href=felhasznalobevitel.html>Töltsd ki rendesen!</a>";

else 

 

stb.

 

Most annyi van, hogy ha már regisztált felhasználónévvel írok be, akkor nem rögzít az adatbázisba, a felhasznalobevitel.php képernyõ megint tök üres és hibaüzenet sincs. Viszont, ha még nem regisztrált felhasználónévvel írok be valakit, azt engedi rögzíteni az adatbázisba. Úgy tûnik már csak a visszakapcsolást kéne megoldani, hogy jelezze a rendszer, ha az illetõ már foglalt felhasználónévvel akar regisztrálni.

Link to comment
Share on other sites

tjoco1

Megvan, megvan! :) Köszönöm szépen!

 

if (mysql_num_rows($result)!=0) 
     { print "A $felhasznalonev felhasználónév már foglalt, kérjük, válassz másikat!";
    $hiba = true; 
    }

 

A printtel egész egyszerûen meg lehet oldani! Nem tudom, hogy helyes-e, szabályos-e, de mûködik! Köszönöm a segítségeteket!!!

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...