php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.04.2011, 02:14  
Benutzer
 
Registriert seit: 20.04.2011
Beiträge: 45
PHP-Kenntnisse:
Anfänger
Obsidian befindet sich auf einem aufstrebenden Ast
Standard Url Parameter zurücksetzen.

So meine erste dämliche Anfängerfrage

Ein kleiner Link "logout" gibt meiner URL den Parameter ?logout mit.
Mein Hauptprogramm verweist dann auf folgende Funktion:

PHP-Code:
public function logout($user)
 {   
  unset(
$_GET['logout']);
  
session_destroy();
 } 
Das Logout und alles klappt auch super, nur ist nach dem Logout noch immer der Parameter an der URL und ein direktes erneutes Login dadurch nicht möglich.

Sollte unset($_GET['logout']) den Parameter nicht entfernen? Oder setzt unset lediglich die mitgegebenen Werte des Parameters zurück?
Obsidian ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.04.2011, 02:28  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Obsidian Beitrag anzeigen
Sollte unset($_GET['logout']) den Parameter nicht entfernen?
Es entfernt selbstverständlich lediglich den Wert aus dem Array.

Davon, dass der Client, der eine HTTP-Anfrage gestellt hat, vielleicht(!) so etwas wie eine „Adresszeile“ hat, weiß PHP überhaupt nichts, und es interessiert sich auch nicht dafür.

(PHP könnte natürlich eine Redirect-Anweisung per Location-Header an den Client schicken, aber dazu sehe ich hier keinen triftigen Grund.)
Zitat:
nur ist nach dem Logout noch immer der Parameter an der URL und ein direktes erneutes Login dadurch nicht möglich.
Wieso nicht?

Wenn der Nutzer sich einloggen will, macht er das über einen neuen Request. In wie fern sollte es da interessant sein, wie die „alte“ Adresse des vorherigen Requests gelautet hat?
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 20.04.2011, 02:32  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Oder ums direkter zu sagen: Wahrscheinlich steht in deinem login script sowas wie
PHP-Code:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"
und nachdem der Benutzer eingeloggt wird, hauts ihn auch gleich wieder raus.
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Alt 20.04.2011, 02:44  
Benutzer
 
Registriert seit: 20.04.2011
Beiträge: 45
PHP-Kenntnisse:
Anfänger
Obsidian befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von rudygotya Beitrag anzeigen
Oder ums direkter zu sagen: Wahrscheinlich steht in deinem login script sowas wie
PHP-Code:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"
und nachdem der Benutzer eingeloggt wird, hauts ihn auch gleich wieder raus.
Ne sowas steht da nicht.. Aber im Hauptprogramm:

PHP-Code:
elseif(isset($_REQUEST['logout']))
 {
  
$art->logout($art->getUserNumber());
 } 
Ich komme also nach einem Logout zwar wieder auf die Mainpage. Jedoch kann ich mich nicht direkt wieder einloggen. Dann passiert erstmal nix. Da das Hauptprogramm wegen des Parameters lediglich die Session wieder schliesst. Also muss ich erst auf den "Home" link klicken, damit der Parameter wieder weg ist, und mich dann neu einloggen

Aber ATM ich lass nach dem Logout nun eine tolle "Sie haben sich erfolgreich ausgeloggt" Meldung ausgeben statt direkt wieder das Login Formular.

Aber danke für die Antwort, meine Frage ist beantwortet gibts denn auch ne Möglichkeit nicht nur die Werte des Parameters zurückzusetzen sonder den Parameter selbst?

Geändert von Obsidian (20.04.2011 um 02:57 Uhr).
Obsidian ist offline   Mit Zitat antworten
Alt 20.04.2011, 03:10  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.870
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

re - di - rect
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Alt 20.04.2011, 03:12  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
nur ist nach dem Logout noch immer der Parameter an der URL
Zitat:
gibts denn auch ne Möglichkeit nicht nur die Werte des Parameters zurückzusetzen sonder den Parameter selbst?
An welcher URL? Welches Parameters? Bitte immer exakt sein!

Ich hoffe Du meinst nicht die Browseradresszeile.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 20.04.2011, 03:22  
Benutzer
 
Registriert seit: 20.04.2011
Beiträge: 45
PHP-Kenntnisse:
Anfänger
Obsidian befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von tr0y Beitrag anzeigen
re - di - rect
Super danke tr0y genau das wars was ich brauchte
Obsidian ist offline   Mit Zitat antworten
Alt 20.04.2011, 03:22  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.870
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Gut das es das Designproblem nich löst.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Alt 20.04.2011, 10:15  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Obsidian Beitrag anzeigen
Ich komme also nach einem Logout zwar wieder auf die Mainpage. Jedoch kann ich mich nicht direkt wieder einloggen.
Warum nicht?

Zitat:
Dann passiert erstmal nix. Da das Hauptprogramm wegen des Parameters lediglich die Session wieder schliesst. Also muss ich erst auf den "Home" link klicken, damit der Parameter wieder weg ist, und mich dann neu einloggen
Dann hast du deinen Login falsch umgesetzt.

Wenn der User sich einloggt - dann wird doch ein neuer Request an den Server gemacht, mit einer neuen Adresse - in wie fern soll es da relevant sein, wie die Adresse der vorherigen Anfrage lautete?

Also, wie funktioniert denn deine Login-Prozedur? Angefangen bei der Anfrage, die der Client sendet/dem Formular, das der Client abschickt.
Zitat:
Super danke tr0y genau das wars was ich brauchte
Nein, ist es nicht.
Eine vernünftig strukturierte Applikation muss nicht wild in der Gegen rumleiten.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 20.04.2011, 10:54  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

ich fürchte beim Login hat er einfach ein Post-Formular, als Formular-Action einfach "" -> damit bleibt die Adresse natürlich wie sie ist und das ?Logout hängt weiterhin an der URL , dann loggt ihn die Funktion zwar faktisch ein, trampelt danach in den Programmteil, der auf URL-Parameter guckt und loggt ihn wieder aus ....

ergo .. sende für den Login einen ähnlichen URL-Parameter mit
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
COM Exception "Typkonflikt" bei array parameter by reference k_m_becker PHP-Fortgeschrittene 6 11.11.2010 20:14
Datei ausführen und Parameter übbergeben SteiniKeule PHP Tipps 2010 3 08.11.2010 08:09
[Erledigt] Funktionsberechtigungne, Rollen und Vererbung von Rechten Geryon Software-Design 37 02.11.2010 23:08
[Erledigt] Url Parameter mit regulärem Ausdruck auslesen funktioniert nicht legit PHP Tipps 2010 4 16.08.2010 14:49
[Erledigt] Optionaler Parameter mit Variable zuweisen Lollix PHP Tipps 2010 6 07.07.2010 17:48
[Erledigt] Parameter wird als Referenz übergeben? Nightwave PHP Tipps 2010 6 09.04.2010 20:41
[Erledigt] Warning: mysql_result() expects parameter 1 to be resource, boolean given FloRic Datenbanken 8 19.10.2009 20:15
parameter von interfaces in klassen richtig mit anwenden? litterauspirna PHP Tipps 2009 27 30.06.2009 20:58
Parameter überschreiben Igäl PHP Tipps 2006 8 04.06.2006 19:55
Variable als optionalen Parameter? Mex PHP Tipps 2006 3 20.04.2006 07:05
?id= und andere Parameter Beitragsarchiv 10 12.04.2006 09:43
einen parameter verstecken seven-12 PHP Tipps 2005-2 8 27.07.2005 16:57
[Erledigt] Parameter uebergeben PHP Tipps 2005-2 10 20.07.2005 16:55
functionen - optionale Parameter PHP Tipps 2005 7 23.05.2005 19:08
Alle $_GET[] parameter auslesen PHP Tipps 2004 3 09.08.2004 14:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php url parameter entfernen, url parameter entfernen php, php url zurücksetzen, php url parameter, php übergabeparameter löschen, $_get url löschen, php url-parameter zurücksetzen, $_get zurücksetzen, get parameter zurücksetzen nicht neu anhängen, php get parameter von url entfernen, reset php und url reset, php url parameter abschneiden, php link zurücksetzen, php get zurück setzen, php. url-parameter leeren, php parameter aus url entfernen, zwei prozeduren ausführen \mysql_result() expects parameter 1 to be resource\, php $_get löschen, browser parameterwert =reset fehler, $_get variable aus url entfernen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum