• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> Klick

Apache kennt kein if($i=='2'){.....???

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Hallo!
Ich wollte gerade eben ein Script auf meinem lokalen Webserver ausführen, da merke ich das der Apache (version 2.0.54) meine Funktion/Ifclausel:
PHP:
<?php
echo"Hallo!<br>";

if($page=='install2'){ echo"Das is die Seite 2"; }
?>
nicht ausführen kann.
Er zeigt mir zwar das Hallo!<br> an aber nicht: "Das is die Seite 2".
Und ich habe das Script unter
http://localhost/~Rasmus/install.php?page=install2
aufgerufen.

Kann der Apache das nicht? o_O
Kennt der keine "if" Schleifen?
Weil mein Webserver den ich gehostet hat kann es...
Gruß Rasmus
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Mach doch mal ein echo auf $page....
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Hab ich aber er zeigt es mir nicht an...

EDIT: Ich glaub er kommt mit den ?page=2 in der Adresszeile nicht klar...

Gruß Rasmus
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Ich muss vorausschicken, dass ich k.A. von php hab - ich kann also nur rumstochern.

Wenn er Dir die Variable nicht ausgibt, kennt er sie wahrscheinlich nicht.

Versuch doch mal sowas wie "Vorne " + $page + " Hinten" auszugeben - wenn dabei nur 'Vorne Hinten' rauskommt, kannst Du Dir sicher sein....

Gruß,

.commander
 

creative7even

Jerseymac
Registriert
23.02.05
Beiträge
454
MACRASSI schrieb:
Hallo!
Kennt der keine "if" Schleifen?
Hallo!

sorry, aber die rede ist hier von Bedingungen (!= Schleifen). :mad:

du übergibst die Variable als GET-var. Aus Sicherheitsgründen ist der Wert der Variablen so abzurufen:
Code:
$_GET['page']
Post variablen dann so:
Code:
$_POST['key']

oder: du deaktivierst dieses feature und änderst REGISTER_GLOBALS in der php.ini.

c7
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Ok ich glaube das ich das änder...
Danke für die Hilfe.
Sorry für das **Schleife... ;)
Gruß Rasmus
PS. Wo finde ich nochmal die php.ini?
 
Zuletzt bearbeitet:

creative7even

Jerseymac
Registriert
23.02.05
Beiträge
454
MACRASSI schrieb:
Sorry für das **Schleife... ;)
:cool:

ändern würde ich das nicht. Begründung: Sicherheitsproblem.
zb.:
Code:
if( logged_in ) {
  session_start();
  /**
   * do something
   */
  header( 'Location: adminpanel.php' );
}

es würde in diesem Fall genügen einfach die Variable www.yourdomain.com?logged_in=true zu übergeben... in diesem Fall eine Session starten usw...

Würdest du nur registrierte Variablen erlauben gibt es keine Möglichkeit die Schleife durch URL_Manipulation zu betreten, da man Werte von GET-Variablen nur über das GET-Array, bzw POST-Variablen über das POST-Array (beides über das $_REQUEST-Array) abfragen kann.

c7.
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Das klingt logisch, aber ich denke nicht das es jetzt so schlimm ist das wenn ich das script nur lokal ausführen möchte oder?
Gruß Rasmus
 

xenxox

Macoun
Registriert
08.02.05
Beiträge
122
Die register Globals zu aktivieren ist aber kein unwesentliches Sicherheitsrisiko. Sobald du das Script auf einem anderen Server laufen lassen wills wirst du wieder vor dem gleichen Problem stehen da die register Globals in der Regel seit PHP 4.x standardmäßig deaktiviert sind. Also lieber schön die $_GET[] und $_POST[] Arrays nutzen um die Variablen abzufragen.
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Ich habe mich jetzt entschieden nur noch so zu programmieren weil es einfach viel sicherer ist.
Vielen dank für die Hilfe Rasmus