Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Probleme Mit Variablen
Frage
ich hab mir nachdem ich leider meinen rechner komplet löschen musste eine neue testumgebung für php geschaffen (Omnisecure, PHP 4.3, Apache, mysql und phpmyadmin) Vieles Fuktioniert auch ganz gut doch es giebt ein gewaltiges Problem. Ich weiß nicht einmal ob es sich um ein PHP oder html problem handelt.
wenn ich einen Link in der Form
echo "<a href=\"seite.php?Varable=1\">Link</a>"; erstelle und mit dem Wert von "Variable" (also in disem Beispiel 1) auf seite.php weiterarbeiten will kommt der wert dort nicht an. beginnt also Seite.php z.B. Mit
blablabla
if (!Seite)
{
Ausgabe1
}
else
{
Ausgabe2
}
blablabla
bekomme ich immer Ausgabe 1.
Dies geschieht übrigens nur in der lokalen Testumgebung wenn ich das skript hochlade funktioniert es im netz perfekt.
Vileicht hilft es euch wenn ich euch noch sage das ich von PHP seit der neuinstalation stendig eine Meldung bekomme "Notice: Undefined variable: xy in C:\HTTPd\htdocs\test.php on line 2" Diese Triit in allen möglichen scripts auf.
Kann das an PHP, Apache Omnisecure oder irgendwas liegen.
Jede Idee könte mir Helfen.
Danke
Antwort 1 von Helferlein
register globals ist in den neuen php versionen OFF, du musst dir die variabeln erst per $_POST oder $_GET in dein script holen.
wenn du also einen url hast:
seite.php?Variable=1
$var1 = $_GET[ 'Variable' ];
usw...
wenn du also einen url hast:
seite.php?Variable=1
$var1 = $_GET[ 'Variable' ];
usw...
Antwort 2 von scifi2002
Danke,
Ich hab echt schon gedacht mein Computer spinnt.
Ich hab jetzt die register globals in der php.ini auf ON gestellt, damit spare ich mir die POST oder GET funktionen überal einzufügen.
mfg
scifi2002
Ich hab echt schon gedacht mein Computer spinnt.
Ich hab jetzt die register globals in der php.ini auf ON gestellt, damit spare ich mir die POST oder GET funktionen überal einzufügen.
mfg
scifi2002
Antwort 3 von Helferlein
neeeeeeein...bitte nicht...meinst du das macht mr. php um dich zu ärgern?
soll ich dir mal was verraten? so kann jeder einfach an den url einer deiner seiten eine variable dran hängen, die dann global gilt...bitte lass das bleiben...
soll ich dir mal was verraten? so kann jeder einfach an den url einer deiner seiten eine variable dran hängen, die dann global gilt...bitte lass das bleiben...
Antwort 4 von scifi2002
aber was stört es mich wenn die etwas ranhängen. wenn sie das lieber tun als klicken ist das doch ihr bier. oder kann da irgendwas schlimmes pasieren?
Antwort 5 von Nessus
Hi,
ja es kann genug Müll fabriziert werden.
Von Programmen die eine Datenbank überlaufen lassen bis zu einem Mißbrauch von Mailern.
Es ist ein reiner Sicherheitsaspekt.
HTH
Nessus
ja es kann genug Müll fabriziert werden.
Von Programmen die eine Datenbank überlaufen lassen bis zu einem Mißbrauch von Mailern.
Es ist ein reiner Sicherheitsaspekt.
HTH
Nessus
Antwort 6 von Helferlein
@scifi: bitte nenn mir die adresse deiner seite und lass mich rumprobieren...es geht nicht um vielleicht 90 prozent der leute die keinen plan davon haben, und einfach so mal rumprobieren, wo dann müll rauskommt...es geht um den einen, der spaß dran findet einfach mal alles aus deiner db zu löschen...backup ist dann sicher nicht da, aber der ärger groß, oder?
Antwort 7 von Helferlein
Zitat:
damit spare ich mir die POST oder GET funktionen überal einzufügen.
damit spare ich mir die POST oder GET funktionen überal einzufügen.
im übrigen sind es keine funktionen...und wenn es wirklich kein problem sein sollte, dass die register globals auf ON sind, warum sind sie dann standardmäßig OFF???
Antwort 8 von scifi2002
whoa da hab ich aber was los getreten.
ok, es sind keine funktionen was weiß ich denn, alles was ich weiß nur das meine hompage (die nebenbei noch nicht online ist ich kann dir die url also nicht geben) aus ca. 200 php dateien besteht und ich in alle diese dateien irgendwo die posts und gets einfügen müsste.
un ich denke es giebt keine funktion (oder was auch immer es ist) um das zu verkürzen.
außerdem waren in den bisherigen php versionen die register globals doch immer on, und das Internet hat es überlebt?
Aber wenn es so schlimm ist bleibt ir wohl kaum was übrig.
ok, es sind keine funktionen was weiß ich denn, alles was ich weiß nur das meine hompage (die nebenbei noch nicht online ist ich kann dir die url also nicht geben) aus ca. 200 php dateien besteht und ich in alle diese dateien irgendwo die posts und gets einfügen müsste.
un ich denke es giebt keine funktion (oder was auch immer es ist) um das zu verkürzen.
außerdem waren in den bisherigen php versionen die register globals doch immer on, und das Internet hat es überlebt?
Aber wenn es so schlimm ist bleibt ir wohl kaum was übrig.
Antwort 9 von scifi2002
und dann noch ne frage, wenn ich scripte zum test ohne post und get uploade funktionieren sie egal was bei meine php.ini eingestellt ist, heißt das bei meinem web space provider sind die dinger auf on?

