YourWBB


yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » URL für nächstes Formular weitergeben... » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 3.444 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen URL für nächstes Formular weitergeben...
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Xannasavin
Mitglied


Dabei seit: 21.07.05
Beiträge: 345
Forenversion: 2.3

 URL für nächstes Formular weitergeben... Antworten Zitieren Editieren Melden       UP

Servus!

Ich hab mir eine Cookie-Kontrolle gebastelt. Allerdings hänge ich grade an einem Punkt:
Die Cookie-Kontrolle greift, sobald ein User das Forum betritt und länger als 24h nicht mehr da war.
Ich möchte nun, wenn das Forum erkennt, dass das Cookie älter als 24h ist oder nicht existiert, dass der User auf eine andere Seite umgeleitet wird, wo geprüft wird ob Cookies abgelegt werden können.
Ich möchte allerdings, dass bei einem Erfolg der User auf die URL weitergeleitet wird, die er davor aufgerufen hat.
Wie übergebe ich diese URL aus der Browserzeile mit auf die nächste Seite um ihn von dort weiterleiten zu können?

Grüße

__________________

03.09.08 14:31 Xannasavin ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Wie alt ist der Cookie? Leg einen zweiten Cookie an, welcher einen Timestamp der Erstellung enthält, damit kannst du es dann überprüfen.

php:
1:
2:
setcookie("test"true);
if (!$_COOKIE['test']) echo "Wir können bei Ihnen keine Cookies setzen";

Sollte das andere Problem lösen.
03.09.08 18:50 [kamui] ist offline Finden Als Freund hinzufügen
Xannasavin
Mitglied


Dabei seit: 21.07.05
Beiträge: 345
Forenversion: 2.3

Themenstarter Thema begonnen von Xannasavin
Antworten Zitieren Editieren Melden       UP

Im Moment sieht mein Code so aus:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
###Cookie Kontrolle###
if($wbbuserdata['userid']!="0"){

$cookietesttime time()-86400;
if ((($_COOKIE['cookietester'] <= $cookietesttime) || (!isset($_COOKIE['cookietester']))) && $action != "cookies" && $cookietest != "1") {
// setze Cookie wenn nicht vorhanden oder Älter als einen Tag
setcookie("cookietester""".time()."");
// Leite weiter auf andere Seite
header('Location:#cookietest=1');
} 
elseif((($_COOKIE['cookietester'] <= $cookietesttime) || (!isset($_COOKIE['cookietester']))) && $cookietest == "1" && $action != "cookies"){
header('Location:sonstiges.php?action=cookies');
}
}
###Ende Cookie Kontrolle###


Wenn kein Cookie "cookietester" gesetzt wurde oder es älter als 24h ist, wird es erneut gesetzt.
Die Seite läd sich erneut mit der Variablen #cookietest=1 (was mein Problem ist. Mit ? kann es der Seite in die Quere kommen und mit & kanns nicht einfach angehängt werden).
Danach wird nochmal überprüft obs das Cookie jetzt gibt. Wenn ja, passiert nichts weiter, wenn nein wird auf eine Fehlerseite geleitet.

Statt dem neu laden der Seite wollte ich auf eine Andere Testseite weiterleiten und von dort entweder auf die Ursprünglich aufgerufene Seite oder auf die Fehlerseite.

Oder kann ich mir das ganze mit deiner Variante sparen? Die scheint mir etwas anders abzuzielen, einfach nur obs gesetzt werden kann...
Meine Variante überprüft halt täglich (und nicht bei jedem Aufruf) ob Cookies gesetzt werden könnnen...

__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Xannasavin: 03.09.08 22:33.

03.09.08 19:15 Xannasavin ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Was konkret ist dein Problem?

Und für PHP-Codes bitte den [PHP ]-BBCode (ohne Leerzeichen vor dem endenden ]) benutzen, danke.
03.09.08 21:44 [kamui] ist offline Finden Als Freund hinzufügen
Xannasavin
Mitglied


Dabei seit: 21.07.05
Beiträge: 345
Forenversion: 2.3

Themenstarter Thema begonnen von Xannasavin
Antworten Zitieren Editieren Melden       UP

Also:

Deine Lösung ist schön einfach. Seh ich das richtig, dass die bei jedem Seitenaufruf ein Cookie setzt und überprüft ob es gesetzt werden konnte?
Wenn das Cookie einmal gesetzt werden konnte, ist es jedoch immer da und der Test gibt auch grünes Licht, wenn Cookies irgendwann nichtmehr akzeptiert werden?

Meine Lösung zielt darauf ab "nur" jeden Tag zu überprüfen, ob Cookies gesetzt werden können. Sie erkennt auch wenn irgendwann mal keine Cookies mehr gesetzt werden können.

Mein einziges Problem ist nun die URL, die der User aufruft bei dem Test mit zum nächsten Formular zu geben.

Der User ruft domain.de/test.php auf.
Es wird überprüft ob das Cookie gesetzt werden kann, er wird auf eine Seite umgeleitet -> domain.de/cookie.php?url=domain.de/test.php.
Konnte das Cookie gesetzt werden wird er auf seine Ursprüngliche Seite domain.de/test.php zurückgeleitet.
Bei einem Fehler wird er auf domain.de/error.php geleitet.

Ich weiß nur nicht wie ich die URL des Users "domain.de/test.php" in eine Variable bekomme um sie der Url "domain.de/cookie.php?url=" anzuhängen.

War das jetzt verständlicher? ><

__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Xannasavin: 03.09.08 22:34.

03.09.08 22:33 Xannasavin ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

$_SERVER['HTTP_HOST'] oder $_SERVER['SERVER_NAME'] sollten dir weiterhelfen Augenzwinkern
03.09.08 22:47 [kamui] ist offline Finden Als Freund hinzufügen
Xannasavin
Mitglied


Dabei seit: 21.07.05
Beiträge: 345
Forenversion: 2.3

Themenstarter Thema begonnen von Xannasavin
Antworten Zitieren Editieren Melden       UP

Okay schonmal super, damit hab ich den Teil "domain.de", der Rest dahinter fehlt aber noch...

Angenommen der user ruft nur eine php auf, könnte man ja "$filename" mitgeben. ($_SERVER['HTTP_HOST']/$filename)
das ganze sollte aber natürlich universel sein, wenns nämlcih richtung "board.php?boardid=123" oder "thread.php?postid123#123" geht... verstehst was ich meine?

danke übrigens, dass du dir die geduld nimmst und mühe machst fröhlich

ich hab was gefunden:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
<?php
function curPageURL() {
 $pageURL 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}
?>


Das sollte es tun oder? Was meinst du dazu?

Was er allerings nicht ausgibt sind Zeichen nach einer Raute... kann man da was machen? (postid=123#123 würde nur als postid123 ausgegeben).

__________________

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Xannasavin: 03.09.08 23:13.

03.09.08 23:05 Xannasavin ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Mhm ... ehrlich gesagt habe ich so etwas noch nie gemacht und auch noch nie gesehen ...

Du kannst mal schauen und mit $_SERVER-Variablen rumspielen, musst du selbst schauen, ob es da eine gibt, die für diese Anker zuständig ist.
04.09.08 14:09 [kamui] ist offline Finden Als Freund hinzufügen
Xannasavin
Mitglied


Dabei seit: 21.07.05
Beiträge: 345
Forenversion: 2.3

Themenstarter Thema begonnen von Xannasavin
Antworten Zitieren Editieren Melden       UP

Hab ne Lösung gefunden fröhlich

php:
1:
2:
3:
4:
5:
if($postid!=''){
header("Location:sonstiges.php?action=cookies&url=".$currentpageurl."#".$postid);
}else{
header("Location:sonstiges.php?action=cookies&url=".$currentpageurl);
}


Vielen Dank fröhlich

Jetzt müsste es funktionieren.... bin am überlegen, ob ich alles zusammenfassen und zum Download bereitstellen soll - was meinst du?

__________________

04.09.08 19:53 Xannasavin ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Zitat:
Original von Xannasavin
bin am überlegen, ob ich alles zusammenfassen und zum Download bereitstellen soll - was meinst du?


Wie du willst Augenzwinkern

Solltest dir halt im klaren sein, dass, wenn du es zum Download anbietest und das ganze eine Nachfrage hat, auch Support-Arbeit auf dich zukommt Augenzwinkern
04.09.08 20:58 [kamui] ist offline Finden Als Freund hinzufügen
Xannasavin
Mitglied


Dabei seit: 21.07.05
Beiträge: 345
Forenversion: 2.3

Themenstarter Thema begonnen von Xannasavin
Antworten Zitieren Editieren Melden       UP

Dann lieber nicht XD bin froh dass ich das soweit hinbekommen hab das es scheinbar läuft ^^

__________________

04.09.08 21:35 Xannasavin ist offline E-Mail Finden Als Freund hinzufügen
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » URL für nächstes Formular weitergeben...