Script bekommt von aktuelle $location nicht mit !?

Script bekommt von aktuelle $location nicht mit !?| Datum: 05.10.2009 - 19:10 | Author: PCFreund

mann jetz muss ich schon wieder mit problemen "antanzen"
diesmal hab ich etwas mit meinem logoutscript

Code


<form action="./?loc=logout" method="post">
<?php
$location = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
?>
<input type="hidden" name="location" value="<?php echo $location ?>" />
<a href="./?loc=logout" onclick="this.form.submit()">Logout [ Admin ]</a>
</form>



also dieser script leitet auf die logout.php weiter die normalerweiße die postvariable "location" bekommen sollte, tut sie aber nicht ...
ich habe den code schon mehrmals "gereinigt" aber hat nichts geholfen ...
kann mir bitte jemand weiterhelfen oder weiß jemand eine andere lösung mit dem ich ein formular mit einem link absenden kann !?

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 05.10.2009 - 20:10 | Author: Fazitas

In welcher Datei ist denn der Script-Teil den du gepostet hast?

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 05.10.2009 - 20:10 | Author: PCFreund

adminmenu.php
also index.php includiert es ...

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 05.10.2009 - 21:10 | Author: Fazitas

Mal so nebenbei ->
Warum übergibst du die Location nicht per GET?
Wenn man sich ausloggt hat man doch eh nicht viel von irgendwelchen Texten die angezeigt werden.

oder soll dort noch was angezeigt werden?

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 05.10.2009 - 21:10 | Author: PCFreund

da soll ein text angezeigt werden dass man ausgeloggt ist und dann kommt eine weiterleitung nach 5 sekunden ...

:: Bearbeitet am Mo 5. Okt 2009, 21:16 ::

warte ich versuchs mit get

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 05.10.2009 - 22:10 | Author: Anonymous

Was gibt die Variable $location denn aus?
Das da:

Code


$location = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";



sieht mir nämlich sehr suspekt aus... mag sein dass es funktioniert, besser wäre es jedoch so:

Code


$location = "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];



Verketten will gelernt sein ;)

Code


<a ... onclick="this.form.submit()" ... >



Ich weiß auch incht ob das so klappt, aber referenziert "this" nicht immer auf das Element in dem es sich befindet? HAt ein Anker (<a>) eine Eigenschaft die sich "form" nennt?
Was sagt Firebug (was du ja sichelrich installiert und aktiviert hast um eventuelle Fehlermeldungen zu erkennen) dazu?

mfg Balmung

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 13:10 | Author: PCFreund

warte ich probiers mal ..

:: Bearbeitet am Di 6. Okt 2009, 14:00 ::

hab das ganze mal mit dem probiert
auch folgenden code als logout verwendet:
<input type="submit" name="logout" value="Logout" />
wenn ich da drauf drück funktioniert es noch immer nicht ...

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 14:10 | Author: Der_Admin

erstmal die Fehler im code entfernen, weil das ist kein richtiger code, sondern einfach hingeklatscht. (seid mir nicht böse, aber zu gutem programmierstil gehört das nunmal.
)
also lieber so:

Code


$location = "http://".$_SERVER['HTTP_HOST']."".$_SERVER['REQUEST_URI']."";



falls du in der logout.php eine header weiterletiung machst genügt sowieso einfach $_SERVER['REQUEST_URI']
also:

Code


<form action="./?loc=logout" method="post">
<?php
$location = $_SERVER['REQUEST_URI'];
?>
<input type="hidden" name="location" value="<?php echo $location ?>" />
<a href="./?loc=logout" onclick="this.form.submit()">Logout [ Admin ]</a>
</form>



Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 14:10 | Author: PCFreund

also ich ab jetz mal bei logout.php

Code


echo $location



probiert ...
es zeit mir ABSOLUT NICHTS an ....
nix . tot . kaputt .

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 14:10 | Author: SirZimt

[quote="PCFreund":3ttym1c5]also ich ab jetz mal bei logout.php

Code


echo $location



probiert ...
es zeit mir ABSOLUT NICHTS an ....
nix . tot . kaputt .[/quote:3ttym1c5]

Muss auch so aussehen!:

Code


echo($location)



Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 14:10 | Author: PCFreund

wirklich !? ich hab aber immer eine variable mit echo $variable ausgegeben 0.o kein wunder dass das nie funzt. hatte ... *probier*

:: Bearbeitet am Di 6. Okt 2009, 14:46 ::

zeigt trotzdem nichts an ...

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 14:10 | Author: Haruspex

[quote="SirZimt":xbvuimlb]
Muss auch so aussehen!:

Code


echo($location)


[/quote:xbvuimlb]
Nö.

Code


echo $location



geht auch. Aber es fehlt ein ;

Code


echo $location;



Allerdings soll dir das, pcfreund, auch angezeigt werden -> Parse Error (oder Syntax? weiß nicht mehr)

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 15:10 | Author: PCFreund

es zeigt mir garnichts ich nimm mal die error e all ...

:: Bearbeitet am Di 6. Okt 2009, 15:09 ::

Notice: Undefined index: location in C:\xampp\htdocs\adm\logout.php on line 6
und auf zeile 6 steht:

Code


$location = $_POST['location'];




:: Bearbeitet am Di 6. Okt 2009, 15:19 ::

beide werden so aufgerufen:

/adm/?loc=home
die variable ?loc wird von index.php abgerufen
es gibt 2 leisten auf der seite
links die user-menu leiste wo dann login oder logout steht und rechts das große für den text ...
wenn die variable ?loc auf home steht wird home.php includiert
wenn man dann auf den button klickt der bei den user-menu steht klickt wird die variable mit ?loc=logout gefüllt also wird logout.php includiert, ist da vl. irgendwo ein fehler verhindert das includen dass der script von der post-variable location etwas mitbekommt weil beim login isses genau so, nur dass es da funktioniert ...

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 15:10 | Author: Haruspex

dump doch mal $_POST.
Wahrscheinlich ist sie leer, weil das Formular nicht richtig abgesendet wird.

[quote="Balmung":152gzswv]
Ich weiß auch incht ob das so klappt, aber referenziert "this" nicht immer auf das Element in dem es sich befindet? HAt ein Anker (<a>) eine Eigenschaft die sich "form" nennt?
Was sagt Firebug (was du ja sichelrich installiert und aktiviert hast um eventuelle Fehlermeldungen zu erkennen) dazu?[/quote:152gzswv]

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 15:10 | Author: PCFreund

firebug sagt mir
"Neu laden, um die Fensterkonsole zu aktivieren"
das heißt er bekommt von localhost garnix mit ...
wie funktioniert dump !?

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 15:10 | Author: Haruspex

var_dump();
solltest du eig kennen.

Lass doch einfach den javascriptkram weg. Send das Formular doch einfach ganz normal ab, zumindest erstmal zum testen.
Danach würd ich dann mal schauen, ob der Javascriptteil stimmt.

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 15:10 | Author: PCFreund

ja hab ich eh <input type="submit" name="logout" value="Logout" />

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 15:10 | Author: Haruspex

Gib doch bitte nochmal den kompletten Formularcode raus, hab etwas den Überblick verloren ;)

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 15:10 | Author: PCFreund

oh tippfehler ...
/adm/?loc=chat
es zeigt an dass die seite /adm/?loc=chat offen ist ... JUHUUUU !!!
ok also kent jemand eine möglichkeit, das so zu machen dass ein link da steht aber das formular abgesendet wird !?

Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 15:10 | Author: Haruspex

Probier mal statt dem Button das:

Code


<a href="javascript:document.forms[0].submit()">Logout</a>



Re: Script bekommt von aktuelle $location nicht mit !?| Datum: 06.10.2009 - 15:10 | Author: PCFreund

0.o
funktioniert perfekt ... danke ! *als gelöst markier*