Autor | Zpráva | ||
---|---|---|---|
Arigashi Profil * |
tak mám ještě jeden problém se stránkou (rohj.xf.cz), registrace mi funguje, dokonce se i po registraci uživatel přihlásí, jenže když se chci pod již registrovaným jménem příhlásit, nereaguje. stejný problém je, že skript by mi měl vyhodit jestli bylo zadáno např. heslo, což se také neděje. z toho usuzuji, že ten skript nefunguje vůbec:/
skript vypadá takto: <?php if(isset($_POST['Přihlásit'])){ $ok=1; if (isset($_GET['reg'])) {unset($_GET['reg']);} if(!$_POST['uname'] || !$_POST['upass']){ echo 'Nejsou vyplněny povinné údaje.</br> '; $ok=0; } $_POST['uname'] = trim($_POST['uname']); if(strlen($_POST['uname']) > 12){ echo 'Jméno má více než 12 znaků.</br>'; $ok=0; } if($ok==1){ $logname=$_POST['uname']; $logpass=$_POST['upass']; $mdlogpass=MD5($logpass); $dotaz="SELECT * FROM $tbl_name WHERE uname='$logname' and upass='$mdlogpass'"; $vysledek=mysql_query($dotaz); if(mysql_num_rows($vysledek)==1){ $_SESSION["logname"]=$logname; $_SESSION["prihlaseny"]=1; echo "<p>přihlášen uživatel:</br>$logname</p>"; echo "<a href='logout.php' id='menusmall'>>>odhlásit<<</a><p>"; } else { echo "Špatné jméno nebo heslo.</br>"; include('loginform.php'); } } else { include('loginform.php'); } } else { if (isset($_SESSION["prihlaseny"])){ if ($_SESSION["prihlaseny"]==1){ $prname=$_SESSION["logname"]; echo "<p>přihlášen uživatel:</br>$prname</p>"; echo "<a href='logout.php' id='menusmall'>>>odhlásit<<</a><p>"; } else {include('loginform.php');} } else { include('loginform.php'); } } ?> začleněn do indexu <?php session_start(); include('login.php'); Moderátor Majkl578: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
mattyZEM Profil |
#2 · Zasláno: 27. 5. 2010, 16:41:52
Arigashi:
> if(!$_POST['uname'] || !$_POST['upass']){ > echo 'Nejsou vyplněny povinné údaje.</br> '; !$_POST['cokoliv'] je blbost :) použij isset „if(isset($_POST['Přihlásit'])){“ Jsi si jistý, že name je přesně "Přihlásit"? „$tbl_name“ Nevidím nikde, že by jsi tuto proměnnou definoval :) Pošli sem prosím i obsah loginform.php, děkuji. |
||
Arigashi Profil * |
<p> Nejste přihlášen/a </p> <p> <form method="post" action=""> uživatelské jméno:<input type="text" size="12" maxlength="12" name="uname"><br /> heslo:<input type="password" size="12" maxlength="12" name="upass"><br /> <input type="submit" value="odeslat" name="odeslat"> <input type='reset' value='vymazat'> </form></p><a href="<?php echo $_SERVER['PHP_SELF'].'?reg=1'; ?>" id="menusmall">>>registrovat<<</a> loginform.php vypadá takhle Moderátor Majkl578: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
mattyZEM Profil |
#4 · Zasláno: 27. 5. 2010, 19:39:36 · Upravil/a: mattyZEM
Vkládej prosím kódy mezi značky [ pre ] a [ /pre ] (stačí kliknout na ).
Mimochodem, vidíš snad v tom kódu loginform.php input s name "Přihlásit"? |
||
Arigashi Profil * |
#5 · Zasláno: 27. 5. 2010, 19:43:38
ne, bohužel jsem v tom totální laik, snažil jsem se udělat stránky na téma podle všemožných manuálů co jsem našel, a protože nevím jak dál, tak se ptám tu co s tím:(
|
||
Arigashi Profil * |
#6 · Zasláno: 27. 5. 2010, 19:52:53
mohl bys mi prosím pomoct, co čím nahradit? byl bych ti opravdu vděčný:(
|
||
Arigashi Profil * |
if(isset($_POST['Přihlásit'])) |
||
mattyZEM Profil |
#8 · Zasláno: 27. 5. 2010, 21:50:32
Čímkoliv, co používáš ve formuláři v "name", tedy v tvém případě uname, upass a odeslat.
if(isset($_POST['sem dáš něco, co jsem vypsal v prvním řádku'])) |
||
Arigashi Profil * |
#9 · Zasláno: 27. 5. 2010, 22:08:14
jo dík, další problém mi to vyhodilo
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /3w/xf.cz/r/rohj/login.php on line 20 <?php if(isset($_POST['odeslat'])){ $ok=1; if (isset($_GET['reg'])) {unset($_GET['reg']);} if(!$_POST['uname'] || !$_POST['upass']){ echo 'Nejsou vyplněny povinné údaje.</br> '; $ok=0; } $_POST['uname'] = trim($_POST['uname']); if(strlen($_POST['uname']) > 12){ echo 'Jméno má více než 12 znaků.</br>'; $ok=0; } if($ok==1){ $logname=$_POST['uname']; $logpass=$_POST['upass']; $mdlogpass=MD5($logpass); $dotaz="SELECT * FROM $tbl_name='usertb' WHERE uname='$logname' and upass='$mdlogpass'"; $vysledek=mysql_query($dotaz); if(mysql_num_rows($vysledek)==1){ $_SESSION["logname"]=$logname; $_SESSION["prihlaseny"]=1; echo "<p>přihlášen uživatel:</br>$logname</p>"; echo "<a href='logout.php' id='menusmall'>>>odhlásit<<</a><p>"; } else { echo "Špatné jméno nebo heslo.</br>"; include('loginform.php'); } } else { include('loginform.php'); } } else { if (isset($_SESSION["prihlaseny"])){ if ($_SESSION["prihlaseny"]==1){ $prname=$_SESSION["logname"]; echo "<p>přihlášen uživatel:</br>$prname</p>"; echo "<a href='logout.php' id='menusmall'>>>odhlásit<<</a><p>"; } else {include('loginform.php');} } else { include('loginform.php'); } } ?> proste zacina se to stavat tezsim nez sem si myslel na zacatku:/ |
||
frytol Profil |
#10 · Zasláno: 27. 5. 2010, 22:13:24
pokut by si chtěl tak bych ti mohl jednu jednoduchou registraci s loginem poslat stačí dát mail.
|
||
Arigashi Profil * |
#11 · Zasláno: 27. 5. 2010, 22:19:21
arigashi@seznam.cz, byl bych ti vdecny, ale nvm jestli to zvladnu zaimplentovat do toho mysql:/
|
||
frytol Profil |
#12 · Zasláno: 27. 5. 2010, 22:21:35
je tam txt soubor kde je napsání jaký sloupce máš v tabulce udělat no a tabulku si pojmenuj jak chceš akorát si to pak v configu změn a v souboru reg.php si změn údaje u mailu že to odesílá údaje na mail tak tam napiš odesílatele a text zprávy
|
||
Nox Profil |
#13 · Zasláno: 27. 5. 2010, 22:37:25
mattyZEM:
„!$_POST['cokoliv'] je blbost“ Obecně to není blbost ... u těchto podmínek by měl programátor přesně vědět co mají propouštět a znát nebo se podívat do tabulky isset by tomuto měl předcházet, ale i tak by tam toto mohlo být ... jde si taky všimnout že výsledky jsou přesně opačné jako u empty(), takže by to mělo být zaměnitelné ... empty je ale asi hezčí a jasnější pořád to ale není vše, protože empty($var) (a při daném použití analogicky !$var) považují 0 nebo "0" za prázdnou proměnnou |
||
Arigashi Profil * |
#14 · Zasláno: 27. 5. 2010, 22:48:09
tak všem děkuji za pomoc, ale kdyby mi někdo ještě pomohl s tím Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /3w/xf.cz/r/rohj/login.php on line 20, byl bych vděčný.
|
||
js Profil * |
#15 · Zasláno: 27. 5. 2010, 22:57:23
co máš uložené v proměnné
$tbl_name |
||
mattyZEM Profil |
#16 · Zasláno: 27. 5. 2010, 23:38:08
Nox:
„Obecně to není blbost“ Není ale i je. Jak jsi psal, programátor by měl přesně vědět, co má v daném programu použít, ale v tomto případě to zrovna moc dobré řešení není. |
||
Časová prodleva: 14 let
|
0