.txt datei wird nicht erstellt... - warum?
joshua
- php
hallo!
ich habe folgendes problem. ich bin gerade dabei ein gästebuch zu programmieren und habe es auch schon etliche male auf fehler untersucht bzw. getestet, aber ich komme nicht auf den fehler drauf.
es soll, wie der titel meines postings schon sagt eine .txt angelegt werden. - aber nichts passiert. ich finde keinen fehler. hier ist der code ausschnitt, um die .txt zu erzeugen:
$text = str_replace($t1, '<br>', $text);
$text = str_replace($t2, '<br>', $text);
if(file_exists('gbentr.txt')) { //wenn gbentr.txt existiert, \n ausgeben (parameter)
$output = "\n";
}
$comment = fopen("gbentr.txt", "a+"); //einträge hinten dranhängen
$output = $output.$name."~".$email."~".$titel."~".$icq."~".$hp."~".$text;
fputs($comment, $output);
fclose($comment);
$name = " ";
$email = " ";
$titel = " ";
$icq = " ";
$hp = " ";
$text = " ";
}
(wobei $t1 und $t2 trennzeichen sind)
kann mir wer von euch weiter helfen?
mlg
joshua
moin!
das verzeichnis, in dem die datei erstellt werden soll (in deinem fall das selbe, in dem dein script ausgeführt wird), muss eine schreibberechtigung haben.
gruß.
roger.
moin!
das verzeichnis, in dem die datei erstellt werden soll (in deinem fall das selbe, in dem dein script ausgeführt wird), muss eine schreibberechtigung haben.
das hat es doch. ich verwende nämlich ein zweites ähnliches script, welches mir eine .txt erstellt, und dort funktioniert es. - nur hier nicht, obwohl es bis auf ein paar mehrere formularfelder u. sonstige erweiterungen (bb-codes mit preg_replace()) das gleiche ist.
gruß.
roger.
mlg
joshua
Hello,
dann schreib an den Anfang Deines Scriptes:
error_reporting(E_ALL);
ini_set('track_errors','1');
$php_errormsg = '';
und später:
$fh = fopen($dateiname,'a+');
if (!$fh)
{
echo $php_errormsg;
exit;
}
Dann solltest Du zumindest erstmal wissen, woran es liegen kann.
Vielleicht ist der Safe Mode für das Verzeichnis aktiviert?
Welches OS benutze Du und welche Apache und welche PHP-Version?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
hi!
habe ich gesehen für die blätterfunktion. - danke!
dann schreib an den Anfang Deines Scriptes:
error_reporting(E_ALL);
ini_set('track_errors','1');
$php_errormsg = '';und später:
$fh = fopen($dateiname,'a+');
if (!$fh)
{
echo $php_errormsg;
exit;
}
werde ich machen
Vielleicht ist der Safe Mode für das Verzeichnis aktiviert?
Welches OS benutze Du und welche Apache und welche PHP-Version?
zzt arbeite ich auf win xp. apache 1.3.14 php 4.0 (sollte ich mal wieder updaten)
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
Welches OS benutze Du und welche Apache und welche PHP-Version?
zzt arbeite ich auf win xp. apache 1.3.14 php 4.0 (sollte ich mal wieder updaten)
Aber sofort. Bei php 4.0 können wir uns hier einen Wolf schreiben. das ist ungefähr genaus gut gewesen, wie DOS 4.0 *ggg*
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
Welches OS benutze Du und welche Apache und welche PHP-Version?
zzt arbeite ich auf win xp. apache 1.3.14 php 4.0 (sollte ich mal wieder updaten)Aber sofort. Bei php 4.0 können wir uns hier einen Wolf schreiben. das ist ungefähr genaus gut gewesen, wie DOS 4.0 *ggg*
*gg*... sry. hatte das völlig übersehen. nun gut also bald hab ich php 5.01
mlg
joshua
Hello,
Welches OS benutze Du und welche Apache und welche PHP-Version?
zzt arbeite ich auf win xp. apache 1.3.14 php 4.0 (sollte ich mal wieder updaten)Aber sofort. Bei php 4.0 können wir uns hier einen Wolf schreiben. das ist ungefähr genaus gut gewesen, wie DOS 4.0 *ggg*
*gg*... sry. hatte das völlig übersehen. nun gut also bald hab ich php 5.01
Ich empfehler erstmal PHP 4.3.9.
Das hat noch volle Unterstützung für MySQL 3.23.x und erfordert keine "Lizenzen" für diese "Datenbankmaschine"...
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
hi!
Ich empfehler erstmal PHP 4.3.9.
Das hat noch volle Unterstützung für MySQL 3.23.x und erfordert keine "Lizenzen" für diese "Datenbankmaschine"...
oh gut...
... download stoppen und neu beginnen *g*
joshua
hi!
mal eine blöde frage:
funktionieren eigentlich 'normale' php befehle bzw. codes die z.b. auf php 4.3.4 wunderbar funktionieren in php 5 noch?
bzw. php erkennt folgende variable nicht:
hab am anfang des formulars ein verstecktes input feld, dass beim drücken des senden buttons das php script aufgerufen wird... so:
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" />
<input type="hidden" name="sent" value="1" />
<input type="text" name="name" value="<?php echo $name ?>" />
.
.
.
</form>
<?php
error_reporting(E_ALL);
if($_POST['sent'] == 1) { //wenn 'sent' gleich 1, dann weiter
$t1 = chr(10);
$t2 = chr(13);
$name = $_POST['name'];
...
} usw.
Warning: Undefined variable: _POST in C:\apache\htdocs\gbform.php on line 70
warum? - oder liegt das an php 4.0?
(bis php 5 dauerts mit meinem ISDN halt noch lang... ;-))
mlg
joshua
hi,
Warning: Undefined variable: _POST in C:\apache\htdocs\gbform.php on line 70
warum? - oder liegt das an php 4.0?
letzteres.
diese vordefinierten superglobalen arrays gibt es erst ab 4.1.0, siehe http://www.php.net/manual/de/language.variables.predefined.php
gruß,
wahsaga
Hello,
Warning: Undefined variable: _POST in C:\apache\htdocs\gbform.php on line 70
warum? - oder liegt das an php 4.0?
letzteres.
diese vordefinierten superglobalen arrays gibt es erst ab 4.1.0, siehe http://www.php.net/manual/de/language.variables.predefined.php
Deshalb schrieb ich auch vom Wolf ;-)
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo joshua,
auch wenn das Problem schon gelöst ist (und fürs Archiv):
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" />
form ist kein leeres Element, außerdem sollte vor $_SERVER[...] noch ein echo (oder ein print) ...
Grüße aus Nürnberg
Tobias
hi,
action="<?php $_SERVER['PHP_SELF']; ?>"
[...]außerdem sollte vor $_SERVER[...] noch ein echo (oder ein print) ...
oder ein =
action="<?=$_SERVER['PHP_SELF']?>"
(ja, funktioniert nur, wenn short_open_tags aktiviert ist.)
gruß,
wahsaga
Hallo
[...]außerdem sollte vor $_SERVER[...] noch ein echo (oder ein print) ...
oder ein =
action="<?=$_SERVER['PHP_SELF']?>"
(ja, funktioniert nur, wenn short_open_tags aktiviert ist.)
Das aber funktioniert wiederum nicht, wenn man seine Schreibweise:
<input type="hidden" name="sent" value="1" />
<input type="text" name="name" value="<?php echo $name ?>" />
als Verwendung von XHTML deutet (der schließende Slash wird ja wohl auch
bei HTML von den Browsern akzeptiert).
Wenn's denn XHTML und damit XML ist, muß der open_tag long sein (<?php).
Tschö, Auge
Hello,
hattest Du eigentlich gesehen, dass ich Dir bezüglich Deines Blätterproblems eine Lösung gebastelt hatte?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
wie lautet denn die Fehlermeldung? Um alle Meldungen (auch die Anmerkungen) von PHP zu erhalten, was kein Fehler sein kann, sollte man an den Anfang des Scripts immer
error_reporting(E_ALL);
schreiben.
Gruß,
Andreas.
hallo!
danke. das habe ich nicht gewusst...
nun ja also: Notice: Undefined index: sent in (seite) on line 70
Notice: Undefined variable: name in (seite) on line 110
...
so. dann werde ich mich mal auf die suche machen.
gibt es im dreamweaver eine möglichkeit zeilenzahlen anzeigen zu lassen?
mlg
joshua
Hello,
so. dann werde ich mich mal auf die suche machen.
gibt es im dreamweaver eine möglichkeit zeilenzahlen anzeigen zu lassen?
downgrade auf textpad, und Du wirst glücklich ;-)
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
hi!
habe das problem mittlerweile selbst gelöst. dem submit button habe ich einen namen (name="submit") gegeben, und dann durch if(isset($_REQUEST['submit'])) { das gb gestartet.
die if abfrage war schuld...
danke aber für eure zahlreichen antworten und hilfen!
gruss joshua