25. juli 2004 - 23:24
Der er
10 kommentarer og 1 løsning
Adgangsscript/formular
Jeg er ved at få grå hår. Kan ikke hitte ud af det her med formularer i PHP. Kan nogle venligst forklare mig, hvorfor nedenstående bliver ved med at returnere $error = 1004 uanset hvad jeg gør? // KODEN: <?php include("z_o_top.php"); include("z_dbconnect.php"); if (isset($_GET['f_login'])) { if (! isset($_GET['f_pw'])) { $error = "1001"; } else { $sql1 = mysql_query("select * from users where init='".$_GET['f_login']."'"); if (mysql_num_rows($sql1) == 0) { $error = "1002"; } else { while ($a_row = mysql_fetch_object($sql1)) { $pw = $a_row->pw; if ($_GET['f_pw'] == $pw) { session_register("session_online"); session_register("session_init"); session_register("session_name"); session_register("session_admin"); session_register("session_coadmin"); session_register("session_kasserer"); session_register("session_odds"); session_register("session_disc"); session_register("session_disc_upd"); session_register("session_hoot"); session_register("session_odds_sp"); session_register("session_disc_sp"); session_register("session_hoot_sp"); session_register("session_mail1"); session_register("session_mail2"); session_register("session_mobil"); $session_online = true; $session_init = $a_row->init; $session_name = $a_row->name; $session_admin = $a_row->admin; $session_coadmin = $a_row->coadmin; $session_kasserer = $a_row->kasserer; $session_odds = $a_row->odds; $session_disc = $a_row->disc; $session_disc_upd = $a_row->disc_upd; $session_hoot = $a_row->hoot; $session_odds_sp = $a_row->odds_sp; $session_disc_sp = $a_row->disc_sp; $session_hoot_sp = $a_row->hoot_sp; $session_mail1 = $a_row->mail1; $session_mail2 = $a_row->mail2; $session_mobil = $a_row->mobil; header("Location: start.php"); exit; } else { $error = "1003"; } } } } } else { $error = "1004"; } print "<h1>Login</h1>"; if (isset($error)) { // loop array: $error_codes igennem indtil vi finder $error foreach ($error_codes as $val) { if ($val['error_code'] == $error) { $error_text = $val['error_text']; } } print "<b><span class='red'>$error_text</span></b><br/><br/>"; } print "<form method='post' action='".$_SERVER['PHP_SELF']."'>"; print "<table width='200px'>"; print "<tr>"; print "<th width='50%' align='left'>User-ID</th>"; print "<th width='50%' align='left'>Password</th>"; print "</tr>"; print "<tr>"; print "<td><input type='text' name='f_login'></td>"; print "<td><input type='password' name='f_pw'></td>"; print "</tr>"; print "</table"; print "<input type='submit' value='Login'>"; print "</form>"; include("z_dbclose.php"); include("z_o_bottom.php"); ?>
Annonceindlæg fra Sabio
Har lige gjordt din kode en del smukkere at kigge på. fejlen ved jeg ikke hvorfor kommer :-P // KODEN: <?php include("z_o_top.php"); include("z_dbconnect.php"); if (isset($_GET['f_login'])) { if (! isset($_GET['f_pw'])) { $error = "1001"; } else { $sql1 = mysql_query("select * from users where init='".$_GET['f_login']."'"); if (mysql_num_rows($sql1) == 0) { $error = "1002"; } else { while ($a_row = mysql_fetch_object($sql1)) { $pw = $a_row->pw; if ($_GET['f_pw'] == $pw) { session_register("session_online"); session_register("session_init"); session_register("session_name"); session_register("session_admin"); session_register("session_coadmin"); session_register("session_kasserer"); session_register("session_odds"); session_register("session_disc"); session_register("session_disc_upd"); session_register("session_hoot"); session_register("session_odds_sp"); session_register("session_disc_sp"); session_register("session_hoot_sp"); session_register("session_mail1"); session_register("session_mail2"); session_register("session_mobil"); $session_online = true; $session_init = $a_row->init; $session_name = $a_row->name; $session_admin = $a_row->admin; $session_coadmin = $a_row->coadmin; $session_kasserer = $a_row->kasserer; $session_odds = $a_row->odds; $session_disc = $a_row->disc; $session_disc_upd = $a_row->disc_upd; $session_hoot = $a_row->hoot; $session_odds_sp = $a_row->odds_sp; $session_disc_sp = $a_row->disc_sp; $session_hoot_sp = $a_row->hoot_sp; $session_mail1 = $a_row->mail1; $session_mail2 = $a_row->mail2; $session_mobil = $a_row->mobil; header("Location: start.php"); exit; } else { $error = "1003"; } } } } } else { $error = "1004"; } print "<h1>Login</h1>"; if (isset($error)) { // loop array: $error_codes igennem indtil vi finder $error foreach ($error_codes as $val) { if ($val['error_code'] == $error) { $error_text = $val['error_text']; } } print "<b><span class='red'>$error_text</span></b><br/><br/>"; } print "<form method='post' action='".$_SERVER['PHP_SELF']."'>"; print "<table width='200px'>"; print "<tr>"; print "<th width='50%' align='left'>User-ID</th>"; print "<th width='50%' align='left'>Password</th>"; print "</tr>"; print "<tr>"; print "<td><input type='text' name='f_login'></td>"; print "<td><input type='password' name='f_pw'></td>"; print "</tr>"; print "</table"; print "<input type='submit' value='Login'>"; print "</form>"; include("z_dbclose.php"); include("z_o_bottom.php"); ?>
Hmmmm det var den altså ikke i min email :-P Sorry i min mail lignede det bare en stor bunke :-(
krydset -> jeg undrede mig MEGET indtil du skrev din anden kommentar! :) erikjakobsen -> det hjalp åbenbart. er i tvivl om hvornår jeg skal bruge hhv $_GET og $_POST. I øvrigt kan den åbenbart heller ikke lide: header("Location: start.php"); exit; Igen min bog der ikke er up-to-date. Hvordan laver man i stedet en redirect?
Man laver en redirect sådan, men du må intet skrive ud på siden før. Brug $_POST ved method="post", og get ved method="get" og for parametre efter et ?-tegn i et link.
grazie - så mangler der bare et svar......
Nej tak, jeg samler ikke på point.
erikjacobsen> Du må gerne fortælle dem, at spm'et alligevel skal lukkes :-)
Det skal det rent faktisk ikke ifølge reglerne på eksperten.dk, thesurfer.
26. juli 2004 - 00:28
#10
hmmm.. har lige kigget.. det har du faktisk ret i.. :-)
26. juli 2004 - 08:58
#11
Jamen, tak for input.
Vi tilbyder markedets bedste kurser inden for webudvikling