Brauche Hilfe mit Dateien Schreiben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anmerkung
argument
code
datei
eintragen
eintragung
email
entfernen
falscher code
fehler
header
http
not
ordner
rechte stimmen
sagen
test
text
variablen verwenden
wunderbar danke
-
http://macrosoftly.lima-city.de/test-amd-new/php-tutorial-eintragen.php
<?
$text = "tutorials/userphp.txt";
$thema = $_POST["thema"];
$name = $_POST["name"];
$eintragung = 'document.write("<font face="Verdana" size="1"><a target="_top" href="tutorials/php-$thema-$name.html" style="text-decoration: none">»$thema [$name]«</a></font><p>")';
$tutorial = $_POST["tutorial"];
$email = $_POST["email"];
$handle1 = fopen("$text","a+");
fwrite($handle1, "$eintragung");
fclose("$handle1"); [Fehler Z. 11]
$handle2 = fopen("tutorials/php-$thema-$name.html","w");
fwrite($handle2, "$tutorial");
fclose("$handle2"); [Fehler Z. 15]
mail("macrosoftly@amd.uk.md", "PHP-Tutorial-hinzugefügt", "Auf www.amd.uk.md wurde ein PHP-Tutorial hinzugefügt", "From: $name <$email>");
header("location: php-tutorial-eintragen.html"); [Fehler Z. 19]
?>
Beitrag geändert: 7.11.2007 15:37:11 von macrosoftly
Beitrag geändert: 7.11.2007 15:39:45 von macrosoftly
Beitrag geändert: 9.11.2007 18:43:45 von macrosoftly -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
klar, da fehlt ja auch ein " (Anführungszeichen) ;)
<?php //falscher Code: mail("macrosoftly@amd.uk.md", "PHP-Tutorial-hinzugefügt", "Auf www.amd.uk.md wurde ein PHP-Tutorial hinzugefügt", From: $name <$email>");
<?php //Richtiger Code: mail("macrosoftly@amd.uk.md", "PHP-Tutorial-hinzugefügt", "Auf www.amd.uk.md wurde ein PHP-Tutorial hinzugefügt", "From: $name <$email>"); ?>
Anmerkung: zur Zeit werden bei Lima diese \\ (Zwei Backslash) gesetzt, die müssen hier weg!
-
http://macrosoftly.lima-city.de/test-amd-new/php-tutorial-eintragen.php
PS: die Datei userphp.txt im Ordner tutorials kann nicht gelesen werden, die Rechte stimmen! (Ich meine die Datei wird nicht in den Ordner tutorials, sondern in den selben verzeichniss wie die datei geschrieben...)
geht immer noch nicht!
Hab den Text jetzt Editiert. thomasba habe in der Zeile mail() es geändert und folgendes ist rausgekommen:
<?
$text = "tutorials/userphp.txt";
$thema = $_POST["thema"];
$name = $_POST["name"];
$eintragung = 'document.write("<font face="Verdana" size="1"><a target="_top" href="tutorials/php-$thema-$name.html" style="text-decoration: none">»$thema [$name]«</a></font><p>")';
$tutorial = $_POST["tutorial"];
$email = $_POST["email"];
$handle1 = fopen('$text','a+');
fwrite($handle1, '$eintragung');
fclose('$handle1'); [Fehler Z. 11]
$handle2 = fopen('tutorials/php-$thema-$name.html','w');
fwrite($handle2, '$tutorial');
fclose('$handle2'); [Fehler Z. 15]
mail("macrosoftly@amd.uk.md", "PHP-Tutorial-hinzugefügt", "Auf www.amd.uk.md wurde ein PHP-Tutorial hinzugefügt", "From: $name <$email>");
header("location: php-tutorial-eintragen.html"); [Fehler Z. 19]
?> -
$handle2 = fopen('tutorials/php-$thema-$name.html','w');
Du kannst, wenn du einfache Anführungsstriche verwendest ( ' ), keine Variablen verwenden, zumindest werden diese nicht geparset. (umgewandelt)
Nimm entweder doppelte ( " ) oder füge die Variablen durch den Verkettungsoperator ( . ) an:
<?php $handle2 = fopen('tutorials/php-'.$thema.'-'.$name.'.html','w'); ?>
Alle Stellen die so ähnlich aussehen musst du so machen, denn sonst werden wie schon oben gesagt die Variablen nicht in ihre Werte umgewandelt.
mail("macrosoftly@amd.uk.md", "PHP-Tutorial-hinzugefügt", "Auf www.amd.uk.md wurde ein PHP-Tutorial hinzugefügt", "From: $name <$email>" $Var;
Was das hier anbelangt:
Warscheinlich denkt PHP hier [From: $name <$email>], dass das > noch zu der Variablen hinzugehört und findet diese deshalb nicht.
Machs einfach wie oben mit dem Verkettungsoperator:
<?php mail("macrosoftly@amd.uk.md", "PHP-Tutorial-hinzugefügt", "Auf www.amd.uk.md wurde ein PHP-Tutorial hinzugefügt", "From: ".$name." <".$email.">"); ?>
Bitte nächstes mal die Fehlermeldung mitposten, dann müssen wir nicht so lange nach dem Fehler suchen ;)
P.S. die \\ musst du entfernen, die kommen durchs Forum.
Beitrag geändert: 7.11.2007 15:58:45 von larsw -
$handle1 = fopen("$text","a+"); fwrite($handle1, "$eintragung"); fclose("$handle1"); $handle2 = fopen("tutorials/php-$thema-$name.html","w"); fwrite($handle2, "$tutorial"); fclose("$handle2");
Geht immer noch nicht :( -
Was heißt "geht nicht"?
Bitte genauer!
Warning: fclose(): supplied argument is not a valid stream resource in /home/webpages/lima-city/macrosoftly/html/test-amd-new/php-tutorial-eintragen.php on line 11
Warning: fclose(): supplied argument is not a valid stream resource in /home/webpages/lima-city/macrosoftly/html/test-amd-new/php-tutorial-eintragen.php on line 15
Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/macrosoftly/html/test-amd-new/php-tutorial-eintragen.php:11) in /home/webpages/lima-city/macrosoftly/html/test-amd-new/php-tutorial-eintragen.php on line 19 -
Ich würde so sagen
<? $text = "tutorials/userphp.txt"; $thema = $_POST["thema"]; $name = $_POST["name"]; $eintragung = 'document.write("<font face="Verdana" size="1"><a target="_top" href="tutorials/php-$thema-$name.html" style="text-decoration: none">'.$thema [$name].'</a></font><p>'; $tutorial = $_POST["tutorial"]; $email = $_POST["email"]; $handle1 = fopen($text,'a+'); fwrite($handle1, $eintragung); fclose($handle1); $handle2 = fopen('tutorials/php-$thema-$name.html','w'); fwrite($handle2, $tutorial); fclose($handle); mail("macrosoftly@amd.uk.md", "PHP-Tutorial-hinzugefügt", "Auf www.amd.uk.md wurde ein PHP-Tutorial hinzugefügt", "From: $name <$email>"; header("location: php-tutorial-eintragen.html"); ?>
-
So hab noch einwenig dran rumgearbeitet und jetzt gehts wunderbar!
Danke
Und eine bessondere Danke an dich Sven ^^ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage