Wertübergaben funktionieren nicht per Apache!! Oder??

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
18inch

Wertübergaben funktionieren nicht per Apache!! Oder??

Beitrag von 18inch »

Hallo,
ich lese mich gerade in php ein und habe ein kleines Script geschrieben, welches nur ein paar Eingaben vom User per Formular (Submit-Button) übergeben soll und auf der nächsten Site nochmal darstellen soll!
Index Site:

Code: Alles auswählen

<form action="formularauswertung.php">
<h3>Einfache Eingabefelder</h3>
Text<input type= "text" name= "txt" size= "50">
<br>
Ganzzahl<input type="int" size="40" name="gz><br>
Flie&szlig;kommazahl <input type="float" size="30" name="fkz">
<br>
Datum<input type="date" size="20" name="dat">
URL<input type="url" size="10" name="url">
<br>
<h3>Optionsschaltfl&auml;chen / Kontrollk&auml;stchen</h3>
<input type="radio" name="option" value="1" checked>
Erste Option
<input type="radio" name="option" value="2">
Zweite Option
<br>
<input type="checkbox" name="kontroll[]" value="1" checked>
Erste Option
<input type="checkbox" name="kontroll[]" value="2">
Zweite Option
<h3>Schaltfl&auml;chen</h3>
Ausf&uuml;hren&nbsp;&nbsp;<input type="submit">
Zur&uuml;cksetzen&nbsp;&nbsp;<input type="reset">
frei definierbar<input type="button" value="Test">
<h3>Verstecktes Element</h3>
<input type="hidden" name="vst" value="irgendetwas">
<h3>Datei           </h3>
<input type="file" name="dat">
<h3>Auswahlliste    </h3>
<select name="liste">
	<option> Erstes Element
	<option> Zweites Element
	<option> Drittes Element
</select>
</form>
Hier die Auswertungssite:

Code: Alles auswählen

<?php
	echo "<h2>Sie haben die folgenden Eingaben gemacht: </h2>\n";
	echo "Text: $txt <br>\n";
	echo "Ganzzahl: $gz <br>\n";
	echo "FLie&szlig;kommazahl: $fkz <br>\n";
	echo "URL: $url <br>\n";
	echo "<h3>Optionsschaltfl&auml;chen / Kontrollk&auml;stchen</h3>\n";
	echo "Optionsgruppe : $option <br>\n";
	echo "Kontrollk&auml;stchen : <br>\n";
	for($i = 0; $i < 2; $i++)
	   if(isset($kotroll[$i]))
	     echo $kontroll[$i] . "<br>\n";
	echo "<h3>Verstecktes Element</h3>\n";
	echo "$vst <br>\n";
	echo "<h3>Datei</h3>\n";
	echo "$dat <br>\n";
	echo "<h3>Auswahlliste</h3>\n";
	echo "Liste: $liste <br>\n";
?>
Wieso funktioniert diese Übergabe nicht auf meinem Rechner, obwohl ich Apache benutze!??

Ich habe das Formular testhalber bei meinem Bruder auf der Site getestet und da funktioniert es! Wieso???
http://www.xentrox.de/test

Kann mir jemand helfen!?

MfG
Euer 18inch
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Wo testest du es denn? Bei dir auf dem Rechner? Auf dem php installiert is?
18inch

Beitrag von 18inch »

Genau!
Ich teste es auf meinem Rechner!
Und php habe ich auch installiert!
Benutzeravatar
B.A.Monkey
Mitglied
Beiträge: 35
Registriert: 13.10.2003 22:11
Wohnort: München

Beitrag von B.A.Monkey »

Schau mal in der php.ini in deinem Windows-Verzeichnis, ob "register_globals" auf off steht...

Wenn ja, probiers mal mit

Code: Alles auswählen

echo "Text: " . $_GET["txt"] . "<br>\n";
Entsprechend natürlich bei allen anderen Variablen auch.
18inch

Beitrag von 18inch »

DANKE!!!
Endlich funzt es!!
Wieso kann er das andere denn nicht erkennen!!???
Immerhin habe ich den Code aus einem Buch!
Kann ich dem Abhilfe schaffen indem ich register_globals auf on stelle???

ALso trotzdem vielen Dank soweit!

18inch
Benutzeravatar
18inch
Mitglied
Beiträge: 77
Registriert: 14.10.2003 00:41

Beitrag von 18inch »

Es funktioniert alles soweit!
Jedoch die Passage in der Auswertungssite:

Code: Alles auswählen

echo "Kontrollk&auml;stchen : <br>\n"; 
   for($i = 0; $i < 2; $i++) 
      if(isset($kotroll[$i])) 
        echo $kontroll[$i] . "<br>\n"; 
funktioniert nicht!
Ich habe es schon so probiert:

Code: Alles auswählen

echo "Kontrollk&auml;stchen : <br>\n";
	for($i = 0; $i < 2; $i++)
	   if(isset($_GET[$kotroll[$i]]))
	     echo $_GET[$kotroll[$i]] . "<br>\n";
Leider auch ohne Erfolg!

Es wird wahrscheinlich nicht wirklich schwierig sein, jedoch kann ich die Schreibweise von php noch nicht so gut!

MfG 18inch
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Code: Alles auswählen

echo "Kontrollk&auml;stchen : <br>\n"; 
   for($i = 0; $i < 2; $i++) 
      if(isset($_GET['kontroll'][$i])) 
        echo $_GET['kontroll'][$i] . "<br>\n";
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

register_globals = on kann man zwar als Abhilfe so konfigurieren, stellt aber eine zusätzliche Sicherheitslücke dar. Mit $_GET oder $_POST sollte man auch eher arbeiten, so zumindest die Empfehlung vieler PHP-Lehrbücher...
Und da viele noch mit $HTTP_GER_VARS und $HTTP_POST_VARS arbeiten, haben viele Provider die Variable auch so gelassen, um den Ansturm der Supportanfragen möglichst gering zu halten :wink:

OXPUS
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Benutzeravatar
18inch
Mitglied
Beiträge: 77
Registriert: 14.10.2003 00:41

Beitrag von 18inch »

Ich habe den Quelltext geändert!
So wie es bei Pyramide steht, jedoch funktioniert diese Variante auch nicht!
Kann mir jmd weiterhelfen!?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

18inch hat geschrieben:jedoch funktioniert diese Variante auch nicht!
Kannst du das vielleicht etwas genauer ausdrücken?
Antworten

Zurück zu „Coding & Technik“