03. marts 2002 - 12:41
Der er
22 kommentarer og 2 løsninger
PHP Brugersystem login. ..
Hvorfor virker denne kode ikke, og hvad skal jeg gøre for at få den til at virke: if ($action == "logind2") { include("include/db_ind.php"); $foresp = mysql_query("SELECT brugernavn, kode FROM brugere WHERE brugernavn = '$indtastet_brugernavn'"); $row = mysql_fetch_array($foresp); if ($row[kode] == $indtastet_adgangskode) { $resultat = "korrekt"; } else { $resultat = "fejl"; } if ($resultat == "korrekt") { session_start(); session_register("brugernavn"); session_register("kode"); $brugernavn = $HTTP_POST_VARS["row[brugernavn]"]; $kode = $HTTP_POST_VARS["row[kode]"]; } }
Annonceindlæg fra Lector
03. marts 2002 - 13:09
#1
prøv if ($resultat == "korrekt") { session_start(); $brugernavn = $HTTP_POST_VARS["row[brugernavn]"]; $kode = $HTTP_POST_VARS["row[kode]"]; session_register("brugernavn"); session_register("kode"); }
03. marts 2002 - 13:37
#2
Virker ikke... Jeg får følgende fejl: Warning: Cannot send session cookie - headers already sent by (output started at d:\htdocs\fodboldsiden\include\db_ind.php:2) in d:\htdocs/fodboldsiden/bruger.php on line 17
03. marts 2002 - 13:42
#3
for mig at se sætter du ikke værdien brugernavn og kode if ($resultat == "korrekt") { $kode = $indtastet_adgangskode $brugernavn = $indtastet_brugernavn session_start(); session_register("brugernavn"); session_register("kode"); $brugernavn = $HTTP_POST_VARS["row[brugernavn]"]; $kode = $HTTP_POST_VARS["row[kode]"]; }
03. marts 2002 - 13:42
#4
cookie og sesion skal altid før anden udskrift til siden
03. marts 2002 - 13:48
#5
du kan starte siden med ob_start(); og slutte siden med ob_end_flush(); så styrer php selv udskriftrækkefølgen og du får ikke denne fejl - siderne bliver en smule langsommere
03. marts 2002 - 13:52
#6
Hvad skal 'ob_end_flush(); ' og 'ob_start();' gøre? Jeg forstår ikke helt deres funktion... Gider du indsætte dem i dette script: <?php if ($action == "logind2") { include("include/db_ind.php"); $foresp = mysql_query("SELECT brugernavn, kode FROM brugere WHERE brugernavn = '$indtastet_brugernavn'"); $row = mysql_fetch_array($foresp); if ($row[kode] == $indtastet_adgangskode) { $resultat = "korrekt"; } else { $resultat = "fejl"; } if ($resultat == "korrekt") { session_start(); $brugernavn = $HTTP_POST_VARS["row[brugernavn]"]; $kode = $HTTP_POST_VARS["row[kode]"]; session_register("brugernavn"); session_register("kode"); } }
03. marts 2002 - 14:06
#7
hvis dit script include fra et andet script skal det sættes ind i det. men ellers <?php ob_end_flush(); if ($action == "logind2") { include("include/db_ind.php"); $foresp = mysql_query("SELECT brugernavn, kode FROM brugere WHERE brugernavn = '$indtastet_brugernavn'"); $row = mysql_fetch_array($foresp); if ($row[kode] == $indtastet_adgangskode) { $resultat = "korrekt"; } else { $resultat = "fejl"; } if ($resultat == "korrekt") { session_start(); $brugernavn = $HTTP_POST_VARS["row[brugernavn]"]; $kode = $HTTP_POST_VARS["row[kode]"]; session_register("brugernavn"); session_register("kode"); } } ob_start(); din fejl kommer her include("include/db_ind.php"); du må have noget udskrift i denne fil
03. marts 2002 - 14:07
#8
NEJ NU sover jeg om igen
03. marts 2002 - 14:08
#9
<?php ob_start(); if ($action == "logind2") { include("include/db_ind.php"); $foresp = mysql_query("SELECT brugernavn, kode FROM brugere WHERE brugernavn = '$indtastet_brugernavn'"); $row = mysql_fetch_array($foresp); if ($row[kode] == $indtastet_adgangskode) { $resultat = "korrekt"; } else { $resultat = "fejl"; } if ($resultat == "korrekt") { session_start(); $brugernavn = $HTTP_POST_VARS["row[brugernavn]"]; $kode = $HTTP_POST_VARS["row[kode]"]; session_register("brugernavn"); session_register("kode"); } } ob_end_flush();
03. marts 2002 - 14:17
#10
Hvad skal jeg så gøre hvis jeg vil slette en 'session', når brugeren logger ud? Er der en kommando er heder noget ala: session_delete("brugernavn"); ??
Slettet bruger
03. marts 2002 - 14:36
#11
session_unregister("brugernavn"); session_unset("brugernavn"); så skulle den være væk...
03. marts 2002 - 14:40
#12
Skal jeg køre begge?
Slettet bruger
03. marts 2002 - 14:47
#13
jep...
03. marts 2002 - 15:35
#14
Findes der en kommando der kan slette en cookie?
03. marts 2002 - 17:19
#15
setcookie("navn","");
03. marts 2002 - 17:21
#16
-- mortenfn Findes der en kommando der kan slette en cookie?
03. marts 2002 - 17:26
#17
Her kan i se hvordan min kode ser ud nu: ________________________ <? if (($action_bruger == "logind2") || ($ses_log)) { ob_start(); if ($autologind == "on") { setcookie("action_bruger", "logind2", time()+1209600); setcookie("indtastet_adgangskode", "$indtastet_adgangskode", time()+1209600); setcookie("indtastet_brugernavn", "$indtastet_brugernavn", time()+1209600); } include("include/db_ind.php"); $foresp = mysql_query("SELECT brugernavn, kode, point, point_i_spil, navn, id FROM brugere WHERE brugernavn = '$indtastet_brugernavn'"); $bruger_row = mysql_fetch_array($foresp); if (($bruger_row[kode] == $indtastet_adgangskode) && ($bruger_row[brugernavn] == $indtastet_brugernavn)) { $bruger_status = "logget_ind"; $bruger_bruger = "$bruger_row[brugernavn]"; $bruger_kode = "$bruger_row[kode]"; $bruger_point = "$bruger_row[point]"; $bruger_point_i_spil = "$bruger_row[point_i_spil]"; $bruger_navn = "$bruger_row[navn]"; $bruger_id = "$bruger_row[id]"; session_start(); $brugernavn = $HTTP_POST_VARS["bruger_row[brugernavn]"]; $kode = $HTTP_POST_VARS["bruger_row[kode]"]; $ses_log = $HTTP_POST_VARS["ses_log"]; session_register("ses_log"); session_register("brugernavn"); session_register("kode"); } else { $resultat = "fejl"; } ob_end_flush(); } ________________________ Denne kode er i toppen af alle mine sider... Jeg kan sagtens logge ind, og den opretter også fint nogle 'session´s' og 'cookies'... Men når jeg så trykker på et link, som fx. nyheder.php, så er det kun, når cookien er oprettet, at den stadig er logget ind! Hvad kan jeg gøre for at lave sådan at brugerens cookies automatisk slettes når man forlader siden (ikke bare index.php, men når man forlader domænet)? Eller er der evt. en anden måde at løse mit problem på?
05. marts 2002 - 20:16
#18
den her kører når en side forlades der er et par "rigtige" muligheder men i php er de begrænset for php kører jo som bekendt på serveren du kan bruge denne sammen med en side som indeholder een frame (som er hele siden) når frame-siden lukkes køres scriptet <body onUnLoad="window.open('din_fil.php', name, 'width=5,height=5,toolbar=0,menubar=0');">
05. marts 2002 - 20:22
#19
det er sådan jeg mener - der opstår så andre problemer <body onUnLoad="window.open('slet_cookies.php', name, 'width=5,height=5,toolbar=0,menubar=0');"> <frameset rows="*"> <frame name="side" src="side_1.php"> <noframes> </noframes> </frameset>
06. marts 2002 - 17:12
#20
Men: onUnLoad="window.open('slet_cookies.php', name, 'width=5,height=5,toolbar=0,menubar=0');" Virker den kun i fremes?
06. marts 2002 - 17:39
#21
Hvordan sketter man en cookie?
06. marts 2002 - 17:39
#22
sketter = sletter...
08. marts 2002 - 07:56
#23
-- mortenfn Der må da være en anden måde at gøre det på!? Her på eksperten bruger de da ikke frames, og der bliver man da logget ud, når man forlader siden (hvis man ikke har aktiveret auto-login)... Men hvordan køre de fx. her på eksperten?
12. marts 2002 - 18:04
#24
Nå... Jeg fandt selv på noget andet... Lukker her!
Vi tilbyder markedets bedste kurser inden for webudvikling