Stránka: 1 z 1
| [ Príspevkov: 20 ] | |
Autor | Správa |
---|
Registrovaný: 23.04.08 Prihlásený: 31.08.08 Príspevky: 37 Témy: 10 | 10 |
Nazdarek. Mam vytvoreny skript pre registraciu. Po jeho vyplneni a odoslani mi to vsak volajako blbne. Totiz, registraciu vykona aj mi udaje zapise do tabulky, ale automaticky mi to doplni udaje do prihlasovacie okna, ktore mam v lavej casti, a hned mi vypise aj chybove hlasenie, ze uzivatelske meno a alebo heslo nesuhlasia. prosim vas, mohol by mi niekto poradit, kde mam asi chybu?? Jednoducho neviem prist na to, preco mi to automaticky doplni udaje do tabulky prihlasenia..
Tu su skripty:
login.php
Kód: <? require "./func.php";
?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title> Pokusna stranka </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <style type="text/css" title="text/css"> </style> </head> <BODY text=#000000 bgColor=#cec3af> <div align="center"> <table width="760" cellpadding="0" cellspacing="0" border="1"> <tr> <td width="760" height="120" colspan="2" align="center" bgcolor="#cec3af"><img src="hlavicka.jpg" width="530" height="95"></td> </tr> <tr> <td width="160" valign="top"><?require "./prihlasenie.php"?></td> <td width="600" valign="top"><?ukazclanek()?></td> </tr> </table> </div> </body> </html> Prihlasenie.php: Kód: <? session_start();
// tělo skriptu - nejprve si vytvoříme odkaz na databázi $link=mysql_connect("xxxxx", "xxxxx", "xxxx"); mysql_select_db("xxxxxx"); $id = iduzivatele($_POST["meno"], $_POST["heslo"], $link); if ($id<>0) $_SESSION["id"]=$id;
$BudemeZobrazovat=true; if (!empty($_POST)) { if (!isset($_SESSION["id"])) echo "Uživatelské meno alebo heslo nesuhlasí"; else { $BudemeZobrazovat=false; Header("Location: index.php"); } }
if ($BudemeZobrazovat):?> <form method="post" action="login.php"> <table> <tr> <td>Meno:</td> <td><input name="meno" value="<?echo $_POST["meno"]?>"></td> </tr> <td>Heslo:</td> <td><input name="heslo" type = "password" value="<?echo $_POST["heslo"]?>"></td> </tr> <tr> <td colspan="2"><input type="Submit" name="odesli" value="Prihlásiť"></td> </tr> </table> </form> <?endif;?>
<? echo "<p><a href=\"login.php?clanek=registrace\">Registrovať</a></p>"; ?> Registrace.php: Kód: <? function JeEmail ($cislo) { return ereg("^.+@.+\..+$",$cislo); }
function emailvdb ($email, $link) { $vysledek=mysql_query("select * from xxxx where email='".$email."'", $link); return (boolean) mysql_num_rows($vysledek); }
function menovdb ($meno, $link) { $vysledek=mysql_query("select * from xxxx where meno='".$meno."'", $link); return (boolean) mysql_num_rows($vysledek); }
function heslovdb ($heslo, $link) { $vysledek=mysql_query("select * from xxxxx where heslo='".$heslo."'", $link); return (boolean) mysql_num_rows($vysledek); } $link=mysql_connect("xxxxx", "xxxxx", "xxxx"); mysql_select_db("xxxxxx"); $BudemeZobrazovat=true; if (!empty($_POST)) { if (menovdb ($_POST["meno"], $link)) echo "Uvedený nick je už registrovaný!"; elseif ((strlen ($_POST["meno"])>50) | strlen ($_POST["meno"])<5)echo "Nick musí mať minimálne 5 znakov!"; elseif (heslovdb ($_POST["heslo"], $link)) echo "Uvedené heslo je už registrované!"; elseif ((strlen ($_POST["heslo"])>50) | strlen ($_POST["heslo"])<7) echo "Heslo musí mať minimálne 7 znakov!"; elseif (!JeEmail($_POST["email"])) echo "Nie je zadaný platný e-mail!"; elseif (emailvdb($_POST["email"], $link)) echo "Uvedený e-mail je už registrovaný!"; else { $BudemeZobrazovat=false; echo "Ďakujeme za registraciu. Na vašu adresu ".$_POST["email"]." boli zaslane informacie pre jej dokončenie."; mysql_query ("insert into xxxx (meno, heslo, email) values ('".$_POST["meno"]."', '".$_POST["heslo"]."', '".$_POST["email"]."', $link); $lastid=mysql_insert_id(); //tu je email na dokoncenie registracie.... .............................. } } if ($BudemeZobrazovat):?> <form method="post" action="login.php?clanek=registrace"> <table> <tr> <td>Nick:</td> <td><input name="meno" value="<?echo $_POST["meno"]?>"></td> </tr> <tr> <td>Heslo:</td> <td><input name="heslo" type = "password" value="<?echo $_POST["heslo"]?>"></td> </tr> <tr> <td>E-mail:</td> <td><input name="email" value="<?echo $_POST["email"]?>"></td> </tr> <tr> <td colspan="2"><input type="Submit" name="odesli" value="Zaregistrovať"></td> </tr> </table>
</form> <?endif;?> func.php: Kód: <? function ukazclanek () { if ((string)$_REQUEST["clanek"]<>'') $mujclanek=$_REQUEST["clanek"]; else $mujclanek="stred"; if (is_file("./".$mujclanek.".htm")): $nazevclanku=$mujclanek.".htm"; require $nazevclanku; elseif (is_file("./".$mujclanek.".php")): $nazevclanku=$mujclanek.".php"; require $nazevclanku; else: $nazevclanku=$mujclanek.".htm"; require "notfound.php"; endif; }
function iduzivatele ($meno, $heslo, $link) { $vysledek=mysql_query("select id from xxxx where regdok=1 and meno='".$meno."' and heslo='".$heslo."'", $link); if (mysql_num_rows($vysledek)==0) return false; else { $radek = mysql_fetch_array($vysledek); return $radek["id"]; } }
?>
Please..helfnite mi, lebo som uz z toho fakt zufaly..
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
písal si ty?
lebo sa mi zdá že je tam veľmi veľa hlúpostí ...
|
|
Registrovaný: 23.04.08 Prihlásený: 31.08.08 Príspevky: 37 Témy: 10 | 10 |
No je to trocha poskracovane tie skritpty, lebo som sa snazil s nich povyhadzovat nejake veci aby to tu nebolo rozpisane toho moc..Inac skripty mam z linuxsoft.cz. ja som v podstate len pomenil zakladne udaje...
|
|
Registrovaný: 23.04.08 Prihlásený: 31.08.08 Príspevky: 37 Témy: 10 | 10 |
V com by teda tak mohol byt problem??
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
no a sme pri tom ... teda z regisrácie posielaš meno a heslo a potom to ošetruješ
$id = iduzivatele($_POST["meno"], $_POST["heslo"], $link);
if ($id<>0) $_SESSION["id"]=$id;
|
|
Registrovaný: 23.04.08 Prihlásený: 31.08.08 Príspevky: 37 Témy: 10 | 10 |
OKi.. ale co s tym?? Tiez ma napadlo, ze toto je problem, lenze ked som to vyhodil zo skriptu prihlasenie, tak mi zasa blblo samotne prihlasenie...
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
v prihlasovaní by som inak pomenoval polôžky (iné name ...)
|
|
Registrovaný: 23.04.08 Prihlásený: 31.08.08 Príspevky: 37 Témy: 10 | 10 |
No tak som skusil premenovat polozky (name).. ale nepomohlo to..Sice mi uz nedoplna udaje do tabulky pre prihlasenie, ale stale mi vypisuje chybove hlasenie.. :-/
|
|
Registrovaný: 26.02.08 Prihlásený: 24.05.13 Príspevky: 372 Témy: 66 | 66 Bydlisko: Nové Zámky |
no a co takto sem dat tie hlasenia ktore ti pise???asi nik nema doma vestecku gulu..aspon ja osobne nie
|
|
Registrovaný: 23.04.08 Prihlásený: 31.08.08 Príspevky: 37 Témy: 10 | 10 |
No vypise to chybove hlasenie resp. hlasku : "Uživatelské meno alebo heslo nesuhlasí."
Totiz, ako spominal Tominator, zrejme ta cast :
$id = iduzivatele($_POST["meno"], $_POST["heslo"], $link);
if ($id<>0) $_SESSION["id"]=$id;
robi problemy.. len neviem ako to opravit.
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
lostwarrior píše: login.phpKód: <? require "./func.php";
?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title> Pokusna stranka </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <style type="text/css" title="text/css"> </style> </head> <BODY text=#000000 bgColor=#cec3af> <div align="center"> <table width="760" cellpadding="0" cellspacing="0" border="1"> <tr> <td width="760" height="120" colspan="2" align="center" bgcolor="#cec3af"><img src="hlavicka.jpg" width="530" height="95"></td> </tr> <tr> <td width="160" valign="top"><?require "./prihlasenie.php"?></td> <td width="600" valign="top"><?ukazclanek()?></td> </tr> </table> </div> </body> </html> Prihlasenie.php: Kód: <? session_start();
// tělo skriptu - nejprve si vytvoříme odkaz na databázi $link=mysql_connect("xxxxx", "xxxxx", "xxxx"); mysql_select_db("xxxxxx"); $id = iduzivatele($_POST["nick"], $_POST["pass"], $link); if ($id<>0) $_SESSION["id"]=$id;
$BudemeZobrazovat=true; if (!empty($_POST)) { if (!isset($_SESSION["id"])) echo "Uživatelské meno alebo heslo nesuhlasí"; else { $BudemeZobrazovat=false; Header("Location: index.php"); } }
if ($BudemeZobrazovat):?> <form method="post" action="login.php"> <table> <tr> <td>Meno:</td> <td><input name="meno" value="<?echo $_POST["nick"]?>"></td> </tr> <td>Heslo:</td> <td><input name="heslo" type = "password" value="<?echo $_POST["pass"]?>"></td> </tr> <tr> <td colspan="2"><input type="Submit" name="odesli" value="Prihlásiť"></td> </tr> </table> </form> <?endif;?>
<? echo "<p><a href="login.php?clanek=registrace">Registrovať</a></p>"; ?> Registrace.php: Kód: <? function JeEmail ($cislo) { return ereg("^.+@.+\..+$",$cislo); }
function emailvdb ($email, $link) { $vysledek=mysql_query("select * from xxxx where email='".$email."'", $link); return (boolean) mysql_num_rows($vysledek); }
function menovdb ($meno, $link) { $vysledek=mysql_query("select * from xxxx where meno='".$meno."'", $link); return (boolean) mysql_num_rows($vysledek); }
function heslovdb ($heslo, $link) { $vysledek=mysql_query("select * from xxxxx where heslo='".$heslo."'", $link); return (boolean) mysql_num_rows($vysledek); } $link=mysql_connect("xxxxx", "xxxxx", "xxxx"); mysql_select_db("xxxxxx"); $BudemeZobrazovat=true; if (!empty($_POST)) { if (menovdb ($_POST["meno"], $link)) echo "Uvedený nick je už registrovaný!"; elseif ((strlen ($_POST["meno"])>50) | strlen ($_POST["meno"])<5)echo "Nick musí mať minimálne 5 znakov!"; elseif (heslovdb ($_POST["heslo"], $link)) echo "Uvedené heslo je už registrované!"; elseif ((strlen ($_POST["heslo"])>50) | strlen ($_POST["heslo"])<7) echo "Heslo musí mať minimálne 7 znakov!"; elseif (!JeEmail($_POST["email"])) echo "Nie je zadaný platný e-mail!"; elseif (emailvdb($_POST["email"], $link)) echo "Uvedený e-mail je už registrovaný!"; else { $BudemeZobrazovat=false; echo "Ďakujeme za registraciu. Na vašu adresu ".$_POST["email"]." boli zaslane informacie pre jej dokončenie."; mysql_query ("insert into xxxx (meno, heslo, email) values ('".$_POST["meno"]."', '".$_POST["heslo"]."', '".$_POST["email"]."', $link); $lastid=mysql_insert_id(); //tu je email na dokoncenie registracie.... .............................. } } if ($BudemeZobrazovat):?> <form method="post" action="login.php?clanek=registrace"> <table> <tr> <td>Nick:</td> <td><input name="meno" value="<?echo $_POST["meno"]?>"></td> </tr> <tr> <td>Heslo:</td> <td><input name="heslo" type = "password" value="<?echo $_POST["heslo"]?>"></td> </tr> <tr> <td>E-mail:</td> <td><input name="email" value="<?echo $_POST["email"]?>"></td> </tr> <tr> <td colspan="2"><input type="Submit" name="odesli" value="Zaregistrovať"></td> </tr> </table>
</form> <?endif;?> func.php: Kód: <? function ukazclanek () { if ((string)$_REQUEST["clanek"]<>'') $mujclanek=$_REQUEST["clanek"]; else $mujclanek="stred"; if (is_file("./".$mujclanek.".htm")): $nazevclanku=$mujclanek.".htm"; require $nazevclanku; elseif (is_file("./".$mujclanek.".php")): $nazevclanku=$mujclanek.".php"; require $nazevclanku; else: $nazevclanku=$mujclanek.".htm"; require "notfound.php"; endif; }
function iduzivatele ($meno, $heslo, $link) { $vysledek=mysql_query("select id from xxxx where regdok=1 and meno='".$meno."' and heslo='".$heslo."'", $link); if (mysql_num_rows($vysledek)==0) return false; else { $radek = mysql_fetch_array($vysledek); return $radek["id"]; } }
?>
skús to takto ...
|
|
Registrovaný: 23.04.08 Prihlásený: 31.08.08 Príspevky: 37 Témy: 10 | 10 |
Tomi, skusil som to podla toho co si napisal.. A nefunguje to.. Registraciu mi urobi, ale znova mi vypise v prihlasovacom okne ze "Uzivatelske meno, alebo heslo nesuhlasi!".. A navyse ma ani neprihlasi... :-//
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
prihlasenie.php
Kód: <? session_start();
// tělo skriptu - nejprve si vytvoříme odkaz na databázi $link=mysql_connect("xxxxx", "xxxxx", "xxxx"); mysql_select_db("xxxxxx"); $id = iduzivatele($_POST["nick"], $_POST["pass"], $link); if ($id<>0) $_SESSION["id"]=$id;
$BudemeZobrazovat=true; if (!empty($_POST["nick"])) { if (!isset($_SESSION["id"])) echo "Uživatelské meno alebo heslo nesuhlasí"; else { $BudemeZobrazovat=false; Header("Location: index.php"); } }
if ($BudemeZobrazovat):?> <form method="post" action="login.php"> <table> <tr> <td>Meno:</td> <td><input name="nick" value="<?echo $_POST["nick"]?>"></td> </tr> <td>Heslo:</td> <td><input name="pass" type = "password" value="<?echo $_POST["pass"]?>"></td> </tr> <tr> <td colspan="2"><input type="Submit" name="odesli" value="Prihlásiť"></td> </tr> </table> </form> <?endif;?>
<? echo "<p><a href=\"login.php?clanek=registrace\">Registrovať</a></p>"; ?>
skús toto ... lebo som si našiel nejaké chyby ...
|
|
Registrovaný: 23.04.08 Prihlásený: 31.08.08 Príspevky: 37 Témy: 10 | 10 |
No teraz to uz funguje Vdaka.. Ale chcem sa ta opytat este na jednu vec. Prechadzal som si tie skripty riadok po riadku aby som ich pochopil (kedze sa to este len ucim) a nie je mi celkom jasny tento riadok v skripte prihlasenie.php :
$id = iduzivatele($_POST["nick"], $_POST["pass"], $link);
Totiz, myslel som si, ze to berie ako funkciu iduzivatele zo func.php no ked si tam doplnil nick a pass, tak ma to troska "zaskocilo" . Nemohol by si mi trocha ten riadok ozrejmit/ vysvetlit???
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
lostwarrior píše: No teraz to uz funguje Vdaka.. Ale chcem sa ta opytat este na jednu vec. Prechadzal som si tie skripty riadok po riadku aby som ich pochopil (kedze sa to este len ucim) a nie je mi celkom jasny tento riadok v skripte prihlasenie.php : $id = iduzivatele($_POST["nick"], $_POST["pass"], $link); Totiz, myslel som si, ze to berie ako funkciu iduzivatele zo func.php no ked si tam doplnil nick a pass, tak ma to troska "zaskocilo" . Nemohol by si mi trocha ten riadok ozrejmit/ vysvetlit???
$_POST['nick'], $_POST['pass'] a $link su v tomto pripade vstupne premenne funkcie iduzivatele
_________________ C#, PHP, ... |
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
a ta funkcia podla toho, ci ti toho uzivatela najde alebo nenajde v databazi, ti vrati false, alebo id uzivatela..
takze s tym mozes dalej pracovat...
ja skor nechapem, preco toto:
Kód: where regdok=1 and meno='".$meno."' and heslo='".$heslo."' nieje takto: Kód: where regdok=1 and meno='$meno' and heslo='$heslo'
mne to tak funguje.. ja to tak pouzivam...
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 23.04.08 Prihlásený: 31.08.08 Príspevky: 37 Témy: 10 | 10 |
Dik za odpovede.. Ale este aby som to mal celkom jasno..Teda ta funkcia " iduzivatele" si tym padom nebere "hodnoty" zo skriptu func.php, ale vlastne si ju na novo vytvaram v skripte prihlasenie.php resp. nadefinujem jej parametre predane priamo z formulara? Ak ano, tak vlastne konkretne tato funkcia nepotrebuje skript func.php pre urcenie "iduzivatele"??
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
takto:
BS #> 1, ozvi sa na Skype 2, je to jedno aký použiješ zápis, fungujú oba
lostwarrior #>funkcie sa "skladajú" z dvoch častí:
1, časť samotná výkonná časť funkcie, ktorá sa v tvojom prípade nachádza v func.php
Je tam abstrakne zadefinovaný postup, ktorý sa konkretizuje v 2. časti
2, časť vlastne konkretizuje, abstrankný postup, teda pošlu sa nejaké konkrétne parametre, ktoré sa vo funkicií podľa abstrakného postupu spracujú a ty dostaneš konkrétky výsledok; v tvojom prípade tam posielaš meno a heslo, a podľa absstrakného spôsobu (keďže vopred nevieš o koho ide) sa spracujú a získavaš výsledok; ten následne spracuvávaš tak, ako ti BS napísal teda ak uživateľ existuje vracia jeho ID do SESSION, pokiaľ nie vráti false -> tedá zápornú odpoveď ...
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
Tominator píše: takto: BS #> 1, ozvi sa na Skype
u mna si skoncil chlape... napisat mi: Sprav mi toto, sprav mi toto.... takto veci nefunguju.. aspon prosim tam dat alebo aspon neco.... a nie napisat: Caw,sprav mi grafiku...
(sorry za ot)
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
Blackshadow píše: u mna si skoncil chlape... napisat mi: Sprav mi toto, sprav mi toto.... takto veci nefunguju.. aspon prosim tam dat alebo aspon neco.... a nie napisat: Caw,sprav mi grafiku...
(sorry za ot) dik za uprimnosť ...
|
|
Stránka: 1 z 1
| [ Príspevkov: 20 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v PHP, ASP | 5 | 515 | 09.04.2009 16:33 Tominator | | v HTML, XHTML, XML, CSS | 16 | 662 | 08.01.2012 21:22 t-pack25 | | v PHP, ASP | 13 | 734 | 25.12.2008 15:15 Ancuricka | | v Obchody, reklamácie a právo | 10 | 12833 | 18.10.2014 15:29 Mandy | | v PHP, ASP | 5 | 639 | 17.04.2008 11:28 jaji | | v JavaScript, VBScript, Ajax | 12 | 1051 | 05.06.2008 22:55 maros.b001 | | v Sieťové a internetové programy | 0 | 1577 | 23.01.2015 16:06 Stary | | v Operačné systémy Microsoft | 17 | 2337 | 23.03.2009 10:41 FERDA23 | | v Počítačové hry | 1 | 1802 | 22.09.2012 23:51 walther | | [ Choď na stránku: 1, 2 ] v AMD - Advanced Micro Devices | 45 | 5137 | 26.04.2012 11:14 netpeter77 | | v Ovládače | 4 | 2595 | 14.06.2008 10:36 $ph!nX | | v Pevné disky a radiče | 4 | 1657 | 22.02.2013 14:08 lucifer666x | | v Audio programy | 0 | 714 | 26.01.2009 13:09 strna | | v Pamäte | 11 | 810 | 05.05.2009 17:55 bezi1112 | | v nVidia grafické karty | 4 | 394 | 17.12.2014 16:15 kllr007 | | v Ostatné grafické karty | 4 | 589 | 30.10.2013 14:12 PanMod |
|