Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
WAMP & Variablen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
WAMP & Variablen


 
paddy
26-04-2002, 09:10 
 
Nachdem ich mein WAMP System auf meinem PC installiert habe und alles läuft ist mir gester gleich etwas aufgefallen :

Ein Script funktioniert nicht so wie es soll :

Switch ($order) {
default :
$myorder = "id";
break;
case fgroup :
$myorder = "fgroup";
break;
case url :
$myorder = "url";
break;
case fsize :
$myorder = "filesize";
break;
case ddlz :
$myorder = "ddl";
break;
}

$anfrage = "SELECT * FROM tabelle ORDER BY $myorder";

wenn man zu Beispiel den link tabelle.php?order=url (tablelle.php?order=url) ordnet das Script die Daten nach der Spalte URL.

Das hat auf meinem Webspace im Internet auch funktioniert , jedoch auf meinem WAMP system , das ich neu installiert habe scheinen die Varialblen nicht übergeben zu werden .

Wie und wo kann man da was ändern ?

thanx
paddy

 
paddy
26-04-2002, 11:58 
 
Oder noch ein anderes Beispiel :
<?
If (!$zahl) {
$zahl = 4;
}

$ergebnis = (10+$zahl);
echo $ergebnis;
?>

Wenn man nun zahl.php?zahl=42 eingeben würde,
müsste das script eigentlich 4+42 rechnen = 46.

Aber es erscheint immer 14 ! Als ob der Parser die variable zahl in der url gar nicht beachtet :(

please help

 
Aroree
26-04-2002, 13:04 
 
schreib mal den code der vorhergehenden seite, weil da liegt ja anscheinend der fehler, so kann man nicht helfen.

 
paddy
26-04-2002, 14:03 
 
hast du - glaube ich - falsch verstanden :

Das übergeben von Variablen funktioniert nicht !

beispiel.php enthält folgendes script

<?
echo $variable;
?>


wenn man jetzt beispiel.php mit dem anhang ?variable=xyz
aufruft (beispiel.php?variable=xyz) , musste eigentlich xyz dastehen - das funktioniert auch im normalen PHP Webspace, jedoch nicht auf meinen WAMP system , das eigentlich als lokales entwicklungssystem gedacht ist und keine verbindung zum internet hat .

 
paddy
26-04-2002, 15:59 
 
Habe den Fehler gefunden !

In der PHP.ini war register_globals auf "off" gestellt.
Eigentlich sollte da On stehen .

trotzdem danke

 
Troublegum
26-04-2002, 19:02 
 
Register_Globals = Off ist Standarteinstellung in allen neuen Versionen.
Programmier liebers so, dass du ohne Register Globals auskommst.

 
paddy
26-04-2002, 21:30 
 
kann man dann überhaupt noch vernünftig variablen übergeben ?

 
Troublegum
26-04-2002, 21:38 
 
Klar, auf jeden fall vernünftiger als ohne.
So und so ist es zukunftsorientierter.


Ich empfehle eine Lektüre des Abschnitts Sicherheit des PHP manuals.

; - register_globals = Off [Security, Performance]
; Global variables are no longer registered for input data (POST, GET, cookies,
; environment and other server variables). Instead of using $foo, you must use
; you can use $_REQUEST["foo"] (includes any variable that arrives through the
; request, namely, POST, GET and cookie variables), or use one of the specific
; $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending
; on where the input originates. Also, you can look at the
; import_request_variables() function.
; Note that register_globals is going to be depracated (i.e., turned off by
; default) in the next version of PHP, because it often leads to security bugs.
; Read http://php.net/manual/en/security.registerglobals.php for further
; information.

; You should do your best to write your scripts so that they do not require
; register_globals to be on; Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.

 
paddy
28-04-2002, 23:44 
 
Sag mal - wenn man register_globals = Off setzt , und man möchte zum beispiel einen Reflink irgendwoanders einbauen der so aussieht : www.domain.de/index.phtml?refid=42 oder so - wie funktionierts dann eigentlich ?? kann man die variable dann noch irgendwie ins script holen ? oder verstehe ich da jetzt irgendwas nicht -> denn wenn register_globals == off ist dann haben doch die Variablen in der URI keine bedeutung mehr oder ??:dontknow:

Hab mir den artikel zwar durchgelesen aba bin irgendwie nicht richtig schlau daraus geworden :(

 
Troublegum
29-04-2002, 17:00 
 
Ja, das steht doch im Manual:

Also: Per GET übertragene Variablen (z.b. script?var=value)
werden im Array $_GET[] (vor PHP 4.1 $HTTP_GET_VARS[]) zur Verfügung gestellt.
Per POST übertragene Variablen im Array $_POST[] (vor PHP 4.1 $HTTP_POST_VARS) und neu ab PHP 4.1 ist auch das Array $_REQUEST[] in dem alle einkommenden Variablen aus GET,POST, COOKIES und Sessions gespeichert sind.

mehr dazu erfährst du unter
http://www.php.net/manual/en/reserved.variables.php


Du rufst script.php?var1=value1 auf
statt echo $var1; zu benutzen, nutzt du nun:
echo $_REQUEST[var1];

 
paddy
29-04-2002, 18:03 
 
ok danke -> ich habs dann doch irgendwie verstanden *wunder*

thanx

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:22 Uhr.