Kann nicht in Text-Datei schreiben

Alles, was PHP betrifft, kann hier besprochen werden.

Kann nicht in Text-Datei schreiben

Postby accessburn » 18. September 2007 20:26

hallo, ich hab auf dem Apache ein kleine Text-Bassierendes Gästebuch,
kann aber garnix reinschreiben...
woran könnte das liegen ???

Das schript funktioniert, auf einem Richtigen Server gehts, nur nicht auf meinem localhost :-(
Last edited by accessburn on 19. September 2007 09:52, edited 1 time in total.
accessburn
 
Posts: 9
Joined: 17. September 2007 22:43

Postby Stepke-DSL » 19. September 2007 07:48

Moin,

Wie sieht's denn mit chmod aus?

MfG Stepke
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Postby accessburn » 19. September 2007 08:33

Stepke-DSL wrote:Moin,

Wie sieht's denn mit chmod aus?

MfG Stepke


Ich muss jetzt leider sagen, ich hab keinen schimmer was chmod ist !

ahhh... Hab gerade gegooglet, chmod ist für Unix.. ich hab aber Windows :-( und bei chmod fängt meine Commondoeingabe mit lautem gelächter an *g*
accessburn
 
Posts: 9
Joined: 17. September 2007 22:43

Postby Stepke-DSL » 19. September 2007 11:12

Huch, stimmt wir sind ja hier bei Windows... :shock:

Kommt denn eine Fehlermeldung?
Codestück?
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Postby accessburn » 19. September 2007 11:14

Stepke-DSL wrote:Huch, stimmt wir sind ja hier bei Windows... :shock:

Kommt denn eine Fehlermeldung?
Codestück?

nee garnichts, er macht es einfach nicht...
ich schreibe ins GB und es wird nicht in die entsprechende Textdatei geschrieben...
accessburn
 
Posts: 9
Joined: 17. September 2007 22:43

Postby Stepke-DSL » 19. September 2007 12:29

Poste mal das Codestück, wo du in die Datei schreibst...
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Postby accessburn » 19. September 2007 12:57

Code: Select all
<title>.: Gästebuch</title></center>
  <table border="0" cellspacing="1" cellpadding="6" class="tborder" width="100%">
   <tr>
    <td class="thead" align="left"><div class="normalfont">
<?
include ("ta/ticker.php");
?>
   </tr>
   <tr>
    <td class="alt2" align="left"><div class="smallfont">.: Gästebuch</div></td>
   </tr>
   <tr>
    <td class="alt1" align="left">
      <br />
<head></head>



<center><a href="index.php?site=eintrag"><img src="http://www.Tobias-Riefer.de/community/odgb/gbeintrag.gif"></a><font color="#FFFF00"><br></center>
</font><br>

<?php
   $name = $HTTP_POST_VARS['name'];
   $email = $HTTP_POST_VARS['email'];
   $text = $HTTP_POST_VARS['text'];
   $webseite = $HTTP_POST_VARS['webseite'];
   if($submit)
{

//Falls die Felder nicht ausgefüllt sein sollten
   if(($email == "") || ($name == "") || ($text == "") || ($webseite == ""))
      echo "<b>Fehlgeschlagen! Bitte alle Felder ausfüllen!</b>";
   else
{
   $x = 0;
   $dateiname = "gb.txt";
   $datei = fopen($dateiname, "r");

// mit 'WHILE (!feof($datei))' wird die Datei Zeile für Zeile
// ausgelesen und in die Variable '$saved[x]' gespeichert!
// Das braucht man, damit die neuesten Beiträge oben stehen!
   while (!feof($datei)) {
   $x++;
   $saved[$x] = fgets($datei, 1024);
}

//hier wird das Datum und die Uhrzeit abgefragt, um zu wissen, wann ein Eintrag //geschrieben wurde
   $datum = date("d.m.Y");
   $zeit = date("H:i");
// Dann wird der Beitrag, der Name, die EmailAdresse, der Zeit und das Datum in die //gbook.txt geschrieben
// Das 'W' steht für WRITE
   $datei=fopen("gb.txt", "w");

fwrite($datei,"
<div align=center>
<table border=1 cellspacing=0 width=95%>
  <tr>
    <td><font color=#FFFF00><a href=\"mailto:$email\"><b><font color=#FFFF00>$name</b></a><font color=#FFFF00> schrieb am $datum um $zeit Uhr -- <a href=http://$webseite>$webseite</a></td>
   
  </tr>
  <tr>
    <td><font color=#FFFF00>$text<font color=#FFFF00></font><hr /></td>
  </tr>
</table>\n");

//und dann die anderen Beiträge wieder hintendran schreiben!
   for ($i=1;$i <= $x; $i++) {
   fwrite($datei, "$saved[$i]");
}
//Dann die Datei "gb" wieder schliessen
   fclose($datei);
}
}

// und zu guterletzt die Einträge ausgeben & anzeigen
   $dateiname = "gb.txt";
   $datei = fopen($dateiname, "r");
   fpassthru($datei);
?>
<img src="ta/keinspam.gif">

</div>
<br><br><p align="left"></center><<< <a href="javascript:history.back()">Zurück</a>
      </td></tr></table>


Aber wie gesagt, auf einem richtigen Server geht es, nur nicht auf meinem mit xampp


Sorry... falsches script gepostet...
Last edited by accessburn on 19. September 2007 13:17, edited 1 time in total.
accessburn
 
Posts: 9
Joined: 17. September 2007 22:43

Postby Stepke-DSL » 19. September 2007 13:08

In diesem Codestück schreibst du nicht in eine Datei, da ist kein PHP zu sehen.
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Postby accessburn » 19. September 2007 13:17

Stepke-DSL wrote:In diesem Codestück schreibst du nicht in eine Datei, da ist kein PHP zu sehen.


steht oben... hab mich verklickt !
accessburn
 
Posts: 9
Joined: 17. September 2007 22:43

Postby accessburn » 19. September 2007 23:56

EY !!! warum in PHP verschoben ????

Es geht doch darum das der Apache das schreiben von TXT-Dateien verbietet !!!
accessburn
 
Posts: 9
Joined: 17. September 2007 22:43

Postby Wiedmann » 20. September 2007 00:18

Es geht doch darum das der Apache das schreiben von TXT-Dateien verbietet !!!

Weil der Apache sowas nicht verbietet (bzw. erst gar nicht verbieten kann).
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby accessburn » 20. September 2007 00:57

Wiedmann wrote:
Es geht doch darum das der Apache das schreiben von TXT-Dateien verbietet !!!

Weil der Apache sowas nicht verbietet (bzw. erst gar nicht verbieten kann).


ja aber wenn ich das script so wie es ist hochlade auf einen 1und1 server, dann funktioniert es, nur nicht bei mir auf dem Server... das ist doch merkwürdig, oder ?
accessburn
 
Posts: 9
Joined: 17. September 2007 22:43

Postby Wiedmann » 20. September 2007 01:44

das ist doch merkwürdig, oder ?

Keine Ahnung. Wäre nciht das erste Script das so geschrieben wurde, dass es eher "zufällig" auf manchen Servern läuft, anstatt so, dass es überall läuft... ;-)

Dazu müsste man sich aber mal mit Zeit und Muse den Code anschauen und Debuggen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Stepke-DSL » 20. September 2007 06:37

Moin,

Ist richtig, wenn dann liegt das an PHP...
Aber ich glaube, dass ich den Fehler gefunden habe.
Das hier:
Code: Select all
$datei = fopen($dateiname, "r");

öffnet eine Datei zum LESEN änder das mal um in:
Code: Select all
$datei = fopen($dateiname, "w");

So kannst du in eine Datei SCHREIBEN.

Habe das jetzt nur mal schnell überflogen und da ist mir das aufgefallen, probier das mal und sag nochmal bescheid.

MfG Stepke
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Postby accessburn » 20. September 2007 21:06

no Chance !!!

geht nicht, und habs auch mit anderen Scripten versuchen, manchen gingen manchen nicht... dann liegt es wohl doch daran das manche scripte zu manchen Apache´en nicht kompatibel sind
accessburn
 
Posts: 9
Joined: 17. September 2007 22:43

Next

Return to PHP

Who is online

Users browsing this forum: No registered users and 17 guests