 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
28.11.2003, 21:27
|
#1
|
|
TP-Senior
Registriert seit: Jan 2002
|
Script funktioniert ohne Zutun urplötzlich nicht mehr
...und keine(r) weiß, was passiert ist... der fall:
ich habe unter http://www.warumgehtndasnich.de/start mein 'gesellenstück' am laufen: myStartseite. da muß mensch sich anmelden, einloggen und bekommt dann ein cookie, woraufhin myStartseite optisch anpassbar ist und bookmarks und notizen dort abgelegt werden können.
ohne cookie zeigt sich eine weiße, allgemein gehaltene seite, die versucht, myStartseite zu erklären.
ich habe das ding echt oft benutzt und es war mein ganzer stolz und jetzt erkennt sie urplötzlich mein cookie nicht, browser- und plattformunabhängig, auch ein erneuter LogIn hilft nicht, fehler wurde auch schon von anderen Nutzern bemerkt.
ich hab definitiv nix dran gemacht - hatte gar nicht die zeit zu - und die leute, wo server hosten, auch nicht, schon nachgefragt.
was kann das sein? ein krimi?
blueGirl
|
|
|
28.11.2003, 21:30
|
#2
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Hat Dein Hoster eventuell PHP aktualisiert auf dem Server und die register_globals abgeschaltet?
Mach mal eine Datei mit diesem Inhalt:
<?php
phpinfo()
?>
Und führe sie aus. Welche PHP-Version steht da, und was steht beim Feld register_globals?
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
28.11.2003, 22:22
|
#3
|
|
TP-Insider
Registriert seit: Jun 2001
Ort: Berlin
|
Wenn man über einen proxy-server surft, funktionieren cookies manchmal nicht richtig.
|
|
|
28.11.2003, 23:12
|
#4
|
|
TP-Senior
Registriert seit: Jan 2002
|
nix proxy, ich hasse die dinger quasi persönlich.
@Adagio:
register_globals Off Off
und was mache ich nun? da ansagen, dass ich das gerne wieder htte (warum geht das ae auf meiner tastatur jetzt nimmer???) oder kann ich das direkt im script umgehen?
steht in der phpinfo auch, wer das wann warum gendert hat?
danke aber fr die schnelle hilfe!
blueGirl
__________________
blueGirl
|
|
|
29.11.2003, 00:06
|
#5
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Also, Du hast zwei Möglichkeiten:
- Du sagst Deinem Hoster, sie sollen in der php.ini die register_globals wieder einschalten, da Du (und bestimmt viele andere Kunden von denen) Probleme mit den bestehenden Skripten haben
- oder, wenn sie das nicht wollen, musst Du Dein Skript wohl oder übel ein wenig umschreiben. Alle Variablen, die vorher automatisch ansprechbar waren (egal, ob sie via Formular oder URL kamen), müssen jetzt extra angesprochen werden:
Formulardaten: $_POST['meinevar']
Daten über die URL: $_GET['meinevar']
Daten über Cookies: $_COOKIE['meinevar']
Daten über Sessions: $_SESSION['meinevar']
Oder der "alles-Fänger":
$_REQUEST['meinevar']
Es gibt noch mehr dieser sogenannten "Superglobals". Schau Dich einfach ein wenig bei www.php.net um.
Wenn Du Hilfe beim umschreiben brauchst, meld Dich einfach bei uns 
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
29.11.2003, 14:05
|
#6
|
|
TP-Senior
Registriert seit: Jan 2002
|
also, mein hoster meint, die hätten wirklich und überhaupt nix daran geändert und die register_globals seien schon immer off gewesen - aus sicherheitsgründen. da ich von diesem manne php gelernt habe, habe ich also alles schon so programmiert, daß das so funktioniert (mit diesen php- und servereinstellungen habe ich mich nie groß befaßt).
ich weiß gar nicht, daß variablen, wenn ich sie nicht deklariere, nicht ansprechbar sind, ich habe sie schon immer in den ersten zeilen deklariert:
PHP-Code:
/* ************** Variablen definieren ******* */
$cookie = $_COOKIE['sessionid'];
$i = 0;
$suchstring = $_POST['suchGoogle'];
include("***");
$katnow=$_POST['kategorie'];
$com=$_GET['com'];
$booksortierung = '0';
$firstkat='0';
es ist mir ein rätsel. ich habe meinen hoster per mail 'auf der anderen leitung' und bau jetzt mit euch und ihm ganz langsam das script nach...
was macht dieses register_globals eigentlich?
schönes WE! blueGirl
__________________
blueGirl
|
|
|
29.11.2003, 14:42
|
#7
|
|
TP-Specialist
Registriert seit: Jan 2002
Ort: TP/Dynamik
|
als erstes würde ich mal anfangen, zu schauen, ob überhaupt welche Sachen in den Superglobals stehen:
print_r($_POST),
print_r($_GET)
print_r($_COOKIE)
...
einfach mal nach oben irgendwo am Anfang der Scriptels hinpacken und schauen was rauskommt.
__________________
Gehelft? Hier kannst du dich bedanken.
mike
|
|
|
29.11.2003, 21:06
|
#8
|
|
TP-Senior
Registriert seit: Jan 2002
|
oh, mein gott, ich bin so bescheuert!!!! ich bin selbst dran schuld! ich habe mein cookie gesetzt:
PHP-Code:
$cookie=setcookie("sessionid=$sessionid; path=/; expires=Monday, 14-Nov-03 23:00:00 GMT");
und der 14. november ist nu also schon vorbei...
ich will, da (ich hab in dem formularfeld keine umlaute mehr, was ist das???) mein cookie ewig lebt. welche angabe knnte ich dazu machen?
__________________
blueGirl
|
|
|
29.11.2003, 21:26
|
#9
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
PHP-Code:
$cookie=setcookie("sessionid=$sessionid; path=/; expires=''");
Sollte gehen. Laut Ref. kann man durch "" Parameter weg lassen.
Ob aber nun der Syntax richtig ist musst Du mal testen, da ich nicht mit Cookie arbeite und mich so auch nicht sonderlich mit ihnen auskenne.
cu webcreate
|
|
|
29.11.2003, 22:08
|
#10
|
|
TP-Senior
Registriert seit: Jan 2002
|
ne, geht nicht. das cookie stirbt dann nach dieser sitzung. ich werde es jetzt wohl einfach auf eine bestimmte zeit setzen (sekunden) und bei jedem aufruf erneut auf diese zeit setzen. die dauer erneuert sich dann mit jedem besuch und wer das ding n paar monate nicht benutzt, muß sich erneut einloggen. ist vielleicht auch sicherer....
danke dennoch.
blueGirl
__________________
blueGirl
|
|
|
30.11.2003, 00:32
|
#11
|
|
Guest
Registriert seit: Aug 2002
|
Hmm, kA was das mit dem String auf sich hat, aber hier mein Vorschlag:
Parameter expire in der Funktion setcookie() laut Dokumentation:
Zitat:
|
Ist der Parameter nicht gesetzt, verfällt das Cookie am Ende der Session (wenn der Browser geschlossen wird).
|
So nun der Funktionsaufbau selbst:
bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])
Das heißt:
PHP-Code:
$cookie = setcookie("Name", "Inhalt", time()/* +Sekunden bis zum Verfall des Cookies */);
Und was setcookie("sessionid=$sessionid; path=/; expires=''"); heißen soll weiß ich wie gesagt nicht, vielleicht kann mir das mal jemand erklären.
|
|
|
30.11.2003, 16:54
|
#12
|
|
TP-Senior
Registriert seit: Jan 2002
|
sessionid: wird die variable in den cookie reingeschrieben, das ist die id, die ich dann mit der db vergleiche und dem benutzer 'seine' inhalte liefere. path schau ich grad mal nach, sollte irgendweswegen gesetzt werden...
ah ja:
path | Der Pfad zu dem Server, auf welchem das Cookie verfügbar sein wird. | Ist er auf '/' gesetzt, wird das Cookie innerhalb der gesamten Domain verfügbar. Ist er auf '/foo/' gesetzt, wird das Cookie nur innerhalb des Verzeichnisses /foo/ der domain, sowie allen Unterverzeichnissen wie z.B. /foo/bar/ verfügbar. Der Standardwert ist das Verzeichnis, in dem das Cookie gesetzt wurde.
und expires ist genau diese zeit angabe, an der ich mich gerade versuche...
__________________
blueGirl
|
|
|
01.12.2003, 09:32
|
#13
|
|
TP-Senior
Registriert seit: Jan 2002
|
hi, leutz, ich hab es jetzt endlich beheben können! die zeile:
PHP-Code:
$cookie=setcookie(sessionid, $sessionid, time()+60*60*24*365);
funktioniert. ich bin erleichtert!
setcookie scheint eine sehr empfindliche angelegenheit zu sein. um nicht zu sagen - zickig...
blueGirl
__________________
blueGirl
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| 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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:55 Uhr.
|
 |