PHP Problem mit PHP Code

Kenny [CH]

Commodore
Registriert
Mai 2008
Beiträge
5.034
Hallo ich muss für ein Modul in der Berufschule ein Formular machen mit HTML JavaScript und PHP :/

Das HTML und JavaScript Laufen jetzt Perfekt aber momentan stecke ich an einem Problem mit PHP.

Die Aufgabe lautet das wir die eingaben von einem Formular in eine CSV datei zuschreiben

PHP:
<?php
	$datei = fopen("Member.csv","a");
	if ($datei == false) {
		echo "<p>Datei konnte nicht zum Schreiben geöffnet werden</p>";
		exit;
	}
		if(!$zelle[1] == "") {
			fputs($datei,     		"$zelle[0];$zelle[1];$zelle[2];$zelle[3];$zelle[4];$zelle[5];$zelle[6];$zelle[7];\n");
		}
	fclose($datei);
?>

Hier drin ist irgend ein fehler aber da ich Als Supporter nie PHP wirklich durch genommen habe finde ich den Fehler ned selber :(

http://dynasty.game-server.cc/formulare/index.php das ist der direkt link zu meine Formular
 
Zuletzt bearbeitet:
PHP bietet doch eine schöne Methode extra zum csv-Dateien schreiben an: http://php.net/manual/en/function.fputcsv.php

if(!$zelle[1] == "") warum nicht gleich if ($zelle[1] != "") ?

Was ist denn genau der Fehler? Steht nachher nichts in der Datei, oder gibt PHP eine Fehlermeldung aus? Schon überprüft ob Werte im zelle-Array drinn sind?

EDIT: In HTML-Dateien wird meist kein PHP Code ausgewertet. Wenn du die Datei in .php umbenennst und <?php $PHP_SELF; ?> in <?php echo($PHP_SELF); ?> änderst wird es funktionieren. Du musst mit PHP Variablen ausgeben damit man sie später im HTML findet. Statt dem PHP_SELF könntest aber auch gleich in der form bei action="?" hinschreiben. Hat den selben Effekt.
 
Zuletzt bearbeitet:
Das Problem ist ich habe auf dem HTML die PHP befehle und es funktioniert auch ned wirklich
 
Wird der PHP-Interpreter überhaupt bei HTML-Dateien aufgerufen? Bei vielen Servern ist es so, dass man die Dateien in .php umbenennen muss, damit sie auch funktionieren.
 
Also,

Code:
<script language = "php">

solltest du nicht schreiben. Benutze stattdessen

Code:
<?php
...
?>

Das klappt aber bei dir auch nicht, wie man an der folgenden Stelle sieht:

Code:
action="<?php $PHP_SELF; ?>"

Zum einen ist das auch falsch - Du müßtest schreiben

Code:
action="<?php echo $PHP_SELF; ?>"

oder kürzer

Code:
action="<?= $PHP_SELF ?>"

Das Hauptproblem scheint aber zu sein, daß der Webserver das PHP gar nicht ausführt. Meine Vermutung (ebenso wie AndrewPoisons vor 1 Minute ^^): Es liegt an der Dateiendung. Benenn die Datei mal in "index.php" um und versuch es dann (nachdem du die oben erwähnten Fehler behoben hast) noch mal.
 
Code:
<?php
...
?>

Das hatte ich vorher drinnen aber ich habe jetzt eh das Komplette PHP ausgelagert in eine eigene Datei mit
Code:
<script language = "php"src="Formular.php">      
</script>

Das ist mein Xampp server der das macht :D

Edit2: Momentan habe ich auch ne .CsV datei auf dem Server Liegen aber ich kan sie noch ned öffnen Office noch ned installiert nach dem Visio 64Bit Test :(
 
Zuletzt bearbeitet:
Das mit dem <script language="php"> kann man machen, stimmt schon, es ist aber nicht schön, weil es von der Form her ein HTML-Tag ist. HTML wird aber an den Browser geschickt und erst von diesem verarbeitet, während PHP schon auf dem Server verarbeitet wird, der Browser es also gar nicht zu sehen bekommt. Deswegen sollte man der Klarheit halber <?php ... ?> benutzen.
 
und wie mache ich das auslagern in eine separate datei mit <?php ... ?> ?

Edit: Momentan geht ned mal mehr mein Javascript :( HATERS GONA HATE

Edit2: wenn man syntax ändert dan aber auch im .js file und das auch schön Uploaden -.-
 
Zuletzt bearbeitet:
action="<?= $PHP_SELF ?>" das geht nur wenn die short-tags von php enabled sind. also <?= ist schon eine ausgabe. zum beispiel <?=$variable ?> wäre zu vergleichen mit <?php echo($variable); ?>
 
also ich hatte schon öfters das Problem das
Code:
<? echo $_SERVER['PHPSELF']; ?>
nicht funktioniert hat, währenddessen
Code:
<?php echo $_SERVER['PHPSELF']; ?>
funktionierte.
 
Den Shorttag <? kann man in der PHP-ini abschalten, von daher ist es ratsam <?php zu nutzen.
 
Im übrigen wird es in zukünftigen Versionen keine Shorttags mehr geben, also sollte man langfristig von deren Verwendung absehen.
 
Zurück
Oben