PHP Zeit, IP, Datum Problem!

  • Hallo, wie mache ich das die in eine Zeile sind ?
    Meine so


    XX.XX.XX.XX 13.10.2009 14:29:23
    (IP) (DATUM) (UHR)


    Hier ist der Code:


  • Wie meinst du das jetzt genau?


    Wenn du dem Zeilenumbruch nach der IP weghaben willst musst du das '\n' entfernen, dieses Zeichen erzeugt einen Zeilenumbruch.


    PHP
    <span class="syntaxdefault"><br />$somecontent </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'REMOTE_ADDR'</span><span class="syntaxkeyword">] ;<br /> </span><span class="syntaxdefault"></span>
  • PHP
    <span class="syntaxdefault"><?php<br /><br />$filename </span><span class="syntaxkeyword">= </span><span class="syntaxstring">'besucher.txt'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$somecontent </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'REMOTE_ADDR'</span><span class="syntaxkeyword">] .</span><span class="syntaxstring">" "</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$datum </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">date</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"d.m.Y"</span><span class="syntaxkeyword">) . </span><span class="syntaxstring">" "</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$zeit </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">date</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"H:i:s"</span><span class="syntaxkeyword">) . </span><span class="syntaxstring">" \r\n"</span><span class="syntaxkeyword">;<br /><br />if (</span><span class="syntaxdefault">is_writable</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">)) {<br /><br />     if (!</span><span class="syntaxdefault">$handle </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">fopen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"a"</span><span class="syntaxkeyword">)) {<br />          exit(</span><span class="syntaxstring">"Kann die Datei nicht öffnen"</span><span class="syntaxkeyword">;<br />     }<br /><br />     if (!</span><span class="syntaxdefault">fwrite</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$handle</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$somecontent </span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$datum </span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$zeit</span><span class="syntaxkeyword">)) {<br />          exit(</span><span class="syntaxstring">"Kann in die Datei $filename nicht schreiben"</span><span class="syntaxkeyword">);<br />     }<br /><br />     echo </span><span class="syntaxstring">"Ihre IP-$somecontent Adresse wurde gespeichert!"</span><span class="syntaxkeyword">;<br /><br />     </span><span class="syntaxdefault">fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$handle</span><span class="syntaxkeyword">);<br /><br />} else {<br />     echo </span><span class="syntaxstring">"Die Datei $filename ist nicht schreibbar"</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxdefault">?></span>


    So müsste es richtig sein :)
    Ich habe die Variabeln oben ein wenig verändert, so das zwischen allen ein Stück frei ist und nur die letzte einen Zeilenumbruch bekommt :D
    Du kannst es theoretisch auch so machen, dass du die Variabeln ohne White-Space lässt und dann dort wo der String in die Datei geschrieben wird, die leerzeichen machst, falls du das von der Übersicht her mehr magst^^


    PS: Noch ne kleine Änderung von mir: Du hast zuerst etwas ausgegeben und dann das Script mit exit beendet.
    Du kannst aber Exit auch einen String übergeben ( exit("Fehler!"); ), der dann ausgegeben wird :)

  • Danke hat funk. :)


    PS: and thx for the tips ;)


    Ehm noch ne Frage:
    Kann man das nicht mehr übersichtliger machen?
    Sieht so aus:


    92.248.12.33 20.11.2010 19:10:14


    z.B. so ein Zeichen oder mehr abstand :D
    (abstand beispiel:


    92.248.12.33________________20.11.2010________________19:10:14
    )

  • Ich sehe da zwar keinen Unterschied, aber klar kannst du das machen:

    PHP
    <span class="syntaxdefault"></span><span class="syntaxkeyword"><?</span><span class="syntaxdefault">php<br /><br />$filename </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'besucher.txt'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$somecontent </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'REMOTE_ADDR'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">$datum </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> date</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"d.m.Y"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$zeit </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> date</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"H:i:s"</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_writable</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault">     if </span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">$handle </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> fopen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"a"</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">          exit</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Kann die Datei nicht öffnen"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">     </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">     if </span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">fwrite</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$handle</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $somecontent </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" || "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $datum </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" - "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $zeit</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">          exit</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Kann in die Datei $filename nicht schreiben"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">     </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> </span>


    Habe das jetzt mal so gemacht, dass die Variabeln nur den Inhalt ernthalten und erst beim Reinschreiben deine Zeichen eingesetzt werden.
    Ist so, finde ich, deutlich übersichtlicher :)


    Tipp:
    Man kann auch Tabulatoren (also das was passiert, wenn du im Editor auf Tab drückst) verwenden:
    \t ist dafür der Code

  • Da steht:
    Parse error: syntax error, unexpected ';' in /users/placed/www/index.php on line 14


    Hab im Code geschaut aber denke da ist kein Fehler :|


    (das rote gefärbte ist line 14)


  • Doch, da wird die Klammer nicht geschlossen:

    PHP
    <span class="syntaxdefault"><br /></span><span class="syntaxcomment">//richtig<br /></span><span class="syntaxkeyword">exit(</span><span class="syntaxstring">"Kann die Datei nicht öffnen"</span><span class="syntaxkeyword">);<br /> </span><span class="syntaxdefault"></span>
  • Jetzt steht da 28 8| aber da ist ?>


    Gesammter Code:


  • Jetzt hast du vergessen 2 geschweifte Klammern zu schließen:

    PHP
    <span class="syntaxdefault"><br /></span><span class="syntaxcomment">// nicht so:<br /></span><span class="syntaxkeyword">if (</span><span class="syntaxdefault">is_writable</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">)) {<br /><br />     if (!</span><span class="syntaxdefault">$handle </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">fopen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"a"</span><span class="syntaxkeyword">)) {<br />      exit(</span><span class="syntaxstring">"Kann die Datei nicht öffnen"</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxcomment">//sondern so:<br /></span><span class="syntaxkeyword">if (</span><span class="syntaxdefault">is_writable</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">)) {<br /><br />     if (!</span><span class="syntaxdefault">$handle </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">fopen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"a"</span><span class="syntaxkeyword">)) {<br />      exit(</span><span class="syntaxstring">"Kann die Datei nicht öffnen"</span><span class="syntaxkeyword">);<br />     }<br /><br />}<br /> </span><span class="syntaxdefault"></span>
  • Der läuft auf einen FTP Server hier Code:


  • Darf ich dich eigentlich hauen? :P
    Was habe ich dir zum 1:1 kopieren von Code gesagt? xD
    Da fehlt ja die hälfte :wink:


    Ich bin mal gütig und setze dir alles zusammen, aber ab sofort schaltest du bei sowas dein Gehirn ein ;) :D

    PHP
    <span class="syntaxhtml">    <span class="syntaxdefault"><?php<br /><br />         </span><span class="syntaxkeyword">}<br /><br />     if (!</span><span class="syntaxdefault">fwrite</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$handle</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$somecontent </span><span class="syntaxkeyword">. </span><span class="syntaxstring">" || " </span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$datum </span><span class="syntaxkeyword">. </span><span class="syntaxstring">" - " </span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$zeit</span><span class="syntaxkeyword">)) {<br />          exit(</span><span class="syntaxstring">"Kann in die Datei $filename nicht schreiben"</span><span class="syntaxkeyword">);<br />     } <br />    print </span><span class="syntaxstring">"Ihre IP-$somecontent Adresse wurde gespeichert!"</span><span class="syntaxkeyword">;<br /><br />    </span><span class="syntaxdefault">fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$handle</span><span class="syntaxkeyword">);}<br /><br />    else {<br />    print </span><span class="syntaxstring">"Die Datei ist nicht schreibbar!"</span><span class="syntaxkeyword">;}<br /></span><span class="syntaxdefault">    $filename </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'besucher.txt'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    $somecontent </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'REMOTE_ADDR'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">    $datum </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> date</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"d.m.Y"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    $zeit </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> date</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"H:i:s"</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_writable</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault">         if </span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">$handle </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> fopen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"a"</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">          exit</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Kann die Datei nicht öffnen"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">         </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">     if </span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">fwrite</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$handle</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $somecontent </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" || "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $datum </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" - "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $zeit</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">          exit</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Kann in die Datei $filename nicht schreiben"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">     </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> <br />    print </span><span class="syntaxstring">"Ihre IP-$somecontent Adresse wurde gespeichert!"</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">    fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$handle</span><span class="syntaxkeyword">);}<br /><br /></span><span class="syntaxdefault">    else </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    print </span><span class="syntaxstring">"Die Datei ist nicht schreibbar!"</span><span class="syntaxkeyword">;}<br /><br /></span><span class="syntaxdefault">    ?></span></span>


    PS: Hoffe verstehst, dass der erste Satz nicht ernst gemeint ist :wink: :D

  • Schau dir mal deinen und meinen Code an, meiner ist viel mehr ;)


    Kleiner Tipp:
    Wenn irgendetwas nicht funktioniert sollte man den Code mit schicken. Wird einem Außerdem eine Fehlermeldung gegeben, so ist es von Vorteil, diese anderen auch mit zu teilen ;)

  • Error on Line 11


  • Was ist das den? O.o
    Das er dir nicht vorher schon einen Fehler auswirft wundert mich ja gerade zu xD


    So, hier nun der richtige Code, den du anstelle von deinem Einfügst(!):

    PHP
    <span class="syntaxdefault"><?php<br />$filename </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'besucher.txt'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$somecontent </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'REMOTE_ADDR'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">$datum </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> date</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"d.m.Y"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$zeit </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> date</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"H:i:s"</span><span class="syntaxkeyword">);<br /><br />if(</span><span class="syntaxdefault">is_writable</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">$handle </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> fopen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$filename</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"a"</span><span class="syntaxkeyword">)){<br /></span><span class="syntaxdefault">        exit</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Kann die Datei nicht öffnen!"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">fwrite</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$handle</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $somecontent </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" || "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $datum </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" - "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $zeit</span><span class="syntaxkeyword">)){<br /></span><span class="syntaxdefault">        exit</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Kann in die Datei $filename nicht schreiben!"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    echo </span><span class="syntaxstring">"Ihre IP-$somecontent Adresse wurde gespeichert!"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$handle</span><span class="syntaxkeyword">);<br />}</span><span class="syntaxdefault"> else </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    echo </span><span class="syntaxstring">"Die Datei ist nicht beschreibbar!"</span><span class="syntaxkeyword">;<br />}<br /><br /></span><span class="syntaxdefault">?></span>


    Das ist nun der gesamte Code. Er sollte(!) richtig sein^^ Leider habe ich wie schon mal hier irgendwo erwähnt, mein System neuinstalliert und bisher noch keinen richtigen Editor, beziehungsweise nicht mal einen Laufenden Webserver (a la Xampp).


    Kurz zu dem Code: Du hattest da den Code, den ich dir gegeben habe, irgendwie versucht in deinen rein zu wuscheln :/
    Hab da nun alles überflüssige Entfernt und es ordentlich notiert :D


    Außerdem entschuldige ich mich dafür, dass ich nicht deutlich gemacht habe, dass du bei meinem letzten Code nichts mehr machen solltest xD
    Werde das absofort deutlicher Kennzeichnen, wenn du meinen Code übernehmen kannst, ansonsten gilt weiterhin selber Köpfchen einschalten ;)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!