Problem mit Variablenübertragung

Alles, was PHP betrifft, kann hier besprochen werden.

Problem mit Variablenübertragung

Postby ziganow » 26. October 2006 16:57

Hallo.
Ich habe seit kurzer Zeit ein Problem mit Xampp bzw Apache das von Xampp geliefert wurde.
Und zwar seit ich die neue Version von Xampp drauf habe.
Also wenn ich ein ganz billiges script habe was per Form auf action="test.php" gebe und die daten einer Textbox (name="txtBox1") dort ganz einfach anzeigen bzw auswerten will. (also
if ($_GET['txtBox1'] == $passwd)
{
echo "Richtig!";
}
)
dann passiert ganz einfach garnichts!
Die Variable kommt ganz einfach nicht rüber.
Sonst klappt alles.

Ich hoffe ihr könnt mir helfen, denn ich glaube das ist irgendwas falsches in der config von apache oder so. Denn ich habe alles möglich bisher ausprobiert.

Viele Grüße,
Ziganow
ziganow
 
Posts: 1
Joined: 26. October 2006 16:38

Postby Wiedmann » 26. October 2006 17:55

Welche Variable kommt "nicht rüber" und woher weist du das?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Habe das selbe Problem

Postby dieterducke » 01. November 2006 20:22

Habe auch dieses Problem. :arrow:

Bei:
<?php
echo $eigene_variable;
?>
ist keine Ausgabe möglich.

Eigene Variablen lassen sich nur :?: durch Globale Variablen anzeigen.

Also je nach Sendung per POST oder GET

<?php
echo $_GET["eigene_variable"];
?>

<?php
echo $_POST["eigene_variable"];
?>


Liebe Grüße

Dieter
User avatar
dieterducke
 
Posts: 3
Joined: 01. November 2006 14:26
Location: Solingen

Postby Wiedmann » 01. November 2006 21:55

Habe auch dieses Problem.

Welches Problem?

Code: Select all
<?php
echo $eigene_variable;
?>

ist keine Ausgabe möglich.

Da du hier ja nirgends der Variablen "$eigene_variable" zuvor einen Wert zuweist, wird logischerweise auch nichts ausgegeben... (ein "error_reporting=E_ALL" würde dir das aber auch sagen)

Eigene Variablen lassen sich nur durch Globale Variablen anzeigen.

Dieser Satz ist so natürlich falsch (streng genomen).Aber IMHO willst du auch was anderes sagen. (Eigene Variablen lassen sich immer anlegen und anzeigen. Natürlich nur im entsprechenden Kontext (superglobal, global, in Funktionen. Siehe dazu das Kapitel "Sichtbarkeit von Variablen" (variable scope) im PHP-Manual)

Also je nach Sendung per POST oder GET
Code: Select all
<?php
echo $_GET["eigene_variable"];
?>

Code: Select all
<?php
echo $_POST["eigene_variable"];
?>

Hier macht dann PHP genau das, was im PHP-Manual geschrieben steht:
- Ein Wert der per GET-Request übergeben wird, landet im entsprechenden Key des $_GET-Arrays
- Ein Wert der per POST-Request übergeben wird, landet im entsprechenden Key des $_POST-Arrays
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby dieterducke » 02. November 2006 09:55

Danke für den Rat.

Erst einmal muß ich sagen das ich bei der PHP Programierung noch Neuling bin.
Was mcht ein Neuling?
Er kauft oder leiht sich ein Buch.
In meinem Fall "EINSTIEG in PHP 5" von Thomas Theis.
In der beiliegenden CD sind unzählige Beispiele die mit Post oder Get an die ausführende .php senden und die übermittelten Variablen einfach über

Code: Select all
<?php
        echo "$übersandte_variable";
?>

abrufen.

Also ohne vorangestelltes $_POST oder $_GET.


Auf meinem Host laufen die Beispiele auch nicht ohne vorangestelltes $_POST oder $_GET.

Habe in Erläuterungen über die PHP.ini, folgendes gefunden:

Hier eine kurze Erklärung der Konfigurationsoptionen:



track_vars boolean
Wenn diese Option aktiviert ist, sind Umgebungs-, GET-, POST-, Cookie- und Server-Variablen in den globalen assoziativen Arrays $_ENV, $_GET, $_POST, $_COOKIE, und $_SERVER.

Beachten Sie, dass seit PHP 4.0.3, track_vars immer eingeschaltet ist.


Werde wohl das ganze Buch lesen müssen, um herauszufinden warum darin die Beispiele auf CD für ältere PHP Versionen enthalten sind.

(ein "error_reporting=E_ALL" würde dir das aber auch sagen)

Guter Tipp.
Muß Derzeit noch Erkunden wo ich die Bedeutung der ausgegeben Error-zahl nachlesen kann.

Liebe Grüße
Dieter
Last edited by dieterducke on 02. November 2006 11:50, edited 1 time in total.
User avatar
dieterducke
 
Posts: 3
Joined: 01. November 2006 14:26
Location: Solingen

Postby Knight1 » 02. November 2006 11:07

dieterducke wrote:...
Muß Derzeit noch Erkunden wo ich die Bedeutung der ausgegeben Error-zahl nachlesen kann.


Wie wäre es mit dem Manual von denen die das auch "herstellen" http://www.php.net/manual/de/ :roll:
Image
User avatar
Knight1
 
Posts: 310
Joined: 18. October 2003 10:03
Location: Trier
Operating System: Windows 7 Ultimate x64

Postby Wiedmann » 02. November 2006 15:29

In der beiliegenden CD sind unzählige Beispiele die mit Post oder Get an die ausführende .php senden und die übermittelten Variablen einfach über "ohne vorangestelltes $_POST oder $_GET. " abrufen.

Dann schmeiss das Buch weg ;-) Dieses Verhalten wurde in PHP vor 6 Jahren (Wechsel zwischen PHP3 und PHP4) geändert. Ist aber auch heute noch nicht überall (auch nicht bei Hostern) angekommen... Jedenfalls macht man das nicht mehr so! (auch nicht für simple Beispiele)

Kann man aber auch im PHP-Manual nachlesen:
PHP-Grundlagen --> Variablen --> externe Variablen

Muß Derzeit noch Erkunden wo ich die Bedeutung der ausgegeben Error-zahl nachlesen kann.

Das versteh ich jetzt nicht ganz? Du sollt einfach den Wert in der "php.ini" so ändern wie oben angegeben (oder die gleichnamige Funktion in dem Script benutzen). Dann zeigt dir PHP auch alle Fehler/Meldungen an (im Klartext).
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby dieterducke » 02. November 2006 20:14

Code: Select all
<?php
       $error_reporting=E_ALL;
   if ($_POST ['pw'] == "bingo")
      echo "Zugang gestattet";
   else
      echo "Zugang verweigert";
     echo "<br>$error_reporting";
?>    


Der Browser giebt aus:

Zugang gestattet
2047


:?: 2047 :?:

Das Buch ist eh aus der Bücherei.

Liebe Grüße
Dieter
User avatar
dieterducke
 
Posts: 3
Joined: 01. November 2006 14:26
Location: Solingen

Postby Wiedmann » 02. November 2006 20:32

Wer hat gesagt, dass "error_reporting" eine Variable ist?

Das Buch ist eh aus der Bücherei.

Dann bring es zurück ;-)

BTW:
Geh einfach mal zum normalen PHP-Manual und such dort nach "error_reporting". Da wird dir dann schön erklärt wie das geht...
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to PHP

Who is online

Users browsing this forum: No registered users and 6 guests