Autor | Zpráva | ||
---|---|---|---|
Meda Profil |
#1 · Zasláno: 15. 10. 2008, 00:02:59
čauves, narazil jsem na problém s kterým si nevím vůbec rady...
u scriptu pro Přihlášení používám $_SESSION ten script vypadá že jede dobře, ale nedokáže mě to přesměrovat na další stránku, pomocí PHP_SELF a header. možná to dělá způsob jakým načítám obsah stránky... Script 1 => Přihlášení: <?php if (isset($_POST['odeslat'])) { $message = NULL; if (empty($_POST['user_name'])) { $n = FALSE; $message .= '<p>Nebylo zadáno uživatelské jméno!</p>'; } if (empty($_POST['user_password'])) { $p = FALSE; $message .= '<p>Nebylo zadáno heslo!</p>'; } if ($n && $p) { $dotaz = "SELECT id_user, user_name FROM user WHERE user_name=$n AND user_password=$p;"; $vysledek = @mysql_query ($dotaz); $radek_session = @mysql_fetch_array ($vysledek, MYSQL_NUM); if ($radek_session) { sesion_name('id_user'); ini_set ('session.use_cookies', 0); session_start(); $_SESSION['user_name'] = $radek_session[1]; $_SESSION['id_user'] = $radek_session[0]; header ("Location: http://www.wm-kaiser.czechian.net/index.php?page=31?". SID); exit(); } else { $message = '<p>Kombinace uživatelského jména a hesla neodpovídá uloženým záznamům.</p>'; } } } if (isset($message)) { echo '<font face='. $font_face .' size='. $font_size_text .' color='. $font_color_0 .'><b>'. $message .'</b></font>'; } ?> Script 2 => Načítání obsahu stránek: foreach($_REQUEST as $ind => $val) { $val=addslashes($val); eval("$".$ind."=\"".$val."\";"); } if($page=="") $page=1; $pointer = fopen("main/cz/include/page.php","r"); $pole = fread($pointer, filesize("main/cz/include/page.php")); fclose($pointer); $pole = explode ("\n", $pole); $clanek = $pole[$page]; include(Trim($clanek)); moc děkuji za rady! |
||
Majkl578 Profil |
#2 · Zasláno: 15. 10. 2008, 00:21:36
problem s php_self neni, jelikoz jej nepouzivas ocividne.
prvni problem je toto: header ("Location: http://www.wm-kaiser.czechian.net/index.php?page=31?". SID); SID je konstanta? pokud ne, je to spatne. ten druhy otaznik je tez spatne. asi by bylo nejlepsi udelat toto: header ("Location: http://www.wm-kaiser.czechian.net/index.php?page=31&id_user" . session_id()); druha vec: foreach($_REQUEST as $ind => $val) { $val=addslashes($val); eval("$".$ind."=\"".$val."\";"); } k cemu je to dobre? nevidim vyznam, ale kdyz uz, tak mnohem lepsi je pouzit extract(), viz http://cz.php.net/extract |
||
Meda Profil |
#3 · Zasláno: 15. 10. 2008, 00:43:36
když to upravím, tak po zadání informací pro přihlášení mě to odkáže na index.php a ne na index.php?page=31.... vůbec nevím proč jestli to náhodou nedělá header...
vrací mě to u všeho zpět, i když zadám špatné jméno a když nezadám heslo opět mě to vratí na index.php... když zruším PHP_SELF tak mi to jede v pohodě, háže to chyby když něco nezadám, ale nepřesměruje mě to na index.php?page=31 :-/ formulář pro přihlášení: <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <fieldset> <legend><?php echo "<font face=$font_face size=$font_size_text color=$font_color_0><b>Přihlášení:</b></font>"; ?></legend> <p><?php echo "<font face=$font_face size=$font_size color=$font_color_0><b>Uživatelské jméno:</b></font>"; ?> <input type="text" name="user_name" size="20" maxlength="30" value="<?php if (isset($_POST['user_name'])) echo $_POST['PHP_SELF']; ?>"/></p> <p><?php echo "<font face=$font_face size=$font_size color=$font_color_0><b>Heslo:</b></font>"; ?> <input type="password" name="user_password" size="20" maxlength="30" /></p> <p><input type="submit" name="odeslat" value="Přihlásit" /></p> </fieldset> </form> |
||
Majkl578 Profil |
#4 · Zasláno: 15. 10. 2008, 11:17:41
pred funkci header() nesmi byt zadny vystup na stranku (zadny text apod)
|
||
Časová prodleva: 16 let
|
0