Beiträge von Sören

    Wenn man den Code einrückt, ergibt er nach längerer Betrachtung auch einen Sinn - außer, dass das mit dem in die Dateien schreiben noch etwas überarbeitet werden könnte und ein paar Variablen sinnlos deklariert wurden (wie Sarkkan bereits sagte). :P

    Nur werden die Sachen nicht escaped, bevor sie in die Datei geschrieben werden. Es wird einfach aus dem POST übernommen und reingeschrieben, ohne irgendetwas damit zu machen.

    Hier mal der Code eingerückt, dann sollte man leichter durchsteigen können:^^

    PHP
    <span class="syntaxdefault"><?php<br />$submit </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'submit'</span><span class="syntaxkeyword">];<br />if(isset(</span><span class="syntaxdefault">$submit</span><span class="syntaxkeyword">)) {<br />    </span><span class="syntaxdefault">$code </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'code'</span><span class="syntaxkeyword">];<br />    if(</span><span class="syntaxdefault">$code </span><span class="syntaxkeyword">== </span><span class="syntaxstring">"xxxxxx"</span><span class="syntaxkeyword">) {<br />        </span><span class="syntaxdefault">$news </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'news'</span><span class="syntaxkeyword">];<br />        </span><span class="syntaxdefault">fopen</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"news.txt"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"w"</span><span class="syntaxkeyword">);<br />        </span><span class="syntaxdefault">$db </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"news.txt"</span><span class="syntaxkeyword">;<br />        </span><span class="syntaxdefault">$datei </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">fopen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$db</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"a"</span><span class="syntaxkeyword">);<br />        </span><span class="syntaxdefault">fwrite</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$datei</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$news</span><span class="syntaxkeyword">);<br />        echo </span><span class="syntaxstring">"<p>Die News wurden aktualisiert!</p>"</span><span class="syntaxkeyword">;<br />    }<br />    else {<br />        echo </span><span class="syntaxstring">"<b>Code falsch</b>"</span><span class="syntaxkeyword">;<br />    }<br />}<br />else {<br />    echo </span><span class="syntaxstring">""</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxdefault">?></span>


    Sag mal Philipp, rückst du deinen Code normalerweise eigentlich ein?

    Zitat von &quot;Yamram&quot;

    So. Doctype ergänzt. (<!DOCTYPE html>).
    so das mit den breiten wär dann auch geklärt (:))
    so das fangspiel hat auch ein ende.


    Wo, auf deiner Seite ist jedenfalls nichts verbessert?

    Zitat von &quot;Yamram&quot;

    zum google link: und was ist, wenn ich einen fertigen google link (also schon etwas gesucht (zum beispiel "webdesign")) da rein packe
    dann klickt man dadrauf und erhält die suchbegriffe von google? was haltet ihr davon?


    Genauso sinnlos
    Wie sollte jemand deine Seite nutzen, um nach einem bestimmten Begriff in Google zu suchen?

    Zitat von &quot;Sarkkan&quot;

    Ich steige durch deinen PHP-Code nicht durch O.o


    Philipp hat den Teil mit dem Formular weggelassen.
    Philipp: Ich sehe da jetzt nichts, wo der News-Code verarbeitet wird, wo also die Anführungszeichen escaped werden. Fehlt da vielleicht noch irgendwas?
    Und eigentlich sollten die Backslashes auf der Seite nicht zu sehen sein, sondern nur zum escapen dienen und das Escapede(wie auch immer das geschrieben wird^^) Zeichen ausgeben.

    Zitat von &quot;Yamram&quot;

    Welche Seiten meinst du?


    Z.B. auf der Seite Gästebuch, der Link zu eintragen.

    Was mir noch aufgefallen ist:
    In deinem Link zu Twitter in der News-Zeile ist ein Backslash zwischen href= und ", dadurch funktioniert der Link nicht richtig.
    Der font-Tag in deiner Fußzeile ist auch veraltet.

    Design gefällt mir auch, obwohl es schlicht ist.

    Zusätzlich zu dem, was Sarkkan schon gesagt hat:
    Solltest bei den ganzen Links auf noch nicht verfügbare Seiten, das Ziel in "#" ändern, dann muss man nicht dauernd zurück klicken.
    Wozu hast du auf deiner Seite Links zu YouTube und Google ohne Angabe irgendeines Nutzers. Ich gehe mal davon aus, das die beiden Seiten jeder kennt.
    Auf der "Partner werden"-Seite solltest du noch angeben, wo die entsprechenden Links landen.

    "Fenster schließen" (mal davon abgesehen, dass das unnötig ist) und "Yamaram als Favorit" funktionieren nicht.

    Zur Technik :
    center ist auch veraltet
    kein Doctype??

    Die Navigation ist erst ab einer Breite von ca. 1000px 1-zeilig, solltest du, wie Sarkkan bereits sagte, ändern.

    Ob der Code aus dem HTML-Seminar richtig angezeigt wird hängt vom verwendeten Browser ab.
    Firefox, Chrome und Safari zeigen es so an, wie es im HTML-Seminar steht, während Opera und der Internet-Explorer (IE8) die Boxen nebeneinander anzeigen (also so, wie es bei dir aussieht).

    Ich denke, dass liegt an dem fehlenden Seitenaufbau, da der Code aus dem HTML-Seminar um Doctype und den Tags html, head und body ergänzt, in allen Browsern richtig angezeigt wird. Dein Code wird, da er diese Sachen schon enthält, auch überall richtig angezeigt.

    Ich habe dir mal ein Bild davon gemacht:
    [attachment=0]<!-- ia0 -->Unbenannt.JPG<!-- ia0 -->[/attachment](von oben: Firefox, Chrome, Safari, Opera, Internet-Explorer; links: original, rechts: mit Aufbau)

    Hast du die Funktion clean_input aus CyberGirls Code gelöscht, weil da nur TO DO drinstand?

    Hier ist die Funktion nochmal, ich fülle sie dir aber nicht, was du machen kannst steht ja drin:

    PHP
    <span class="syntaxdefault"></span><span class="syntaxkeyword">function </span><span class="syntaxdefault">clean_input</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$post_vars</span><span class="syntaxkeyword">)<br />{<br />  </span><span class="syntaxcomment">// TO DO<br />  // siehe http://www.php-kurs.com/uebergebene-variablen-bereinigen.htm<br />  // evt. auch Schimpfwörter, Beleidigungen, Slang etc. entfernen<br /></span><span class="syntaxkeyword">} </span><span class="syntaxdefault"></span>

    Die musst du dann in die Datei mit den anderen Funktionen packen.

    Zitat von &quot;Sören&quot;

    voraussgesetzt, der Lösch-Code steht auf der Seite über dem Anzeige-Code.


    Du musst den Teil mit dem Löschen ganz nach oben verschiebst, dann wird erst gelöscht und es können keine Nachrichten mehr angezeigt werden.

    Möchtest du Verbesserungsvorschläge/Tipps zu dem restlichen Code hören? :D

    Wenn du einen Button/Link hast, um alle Nachrichten zu löschen, dann muss man doch auf diesen Button/Link klicken und es wird eine Seite (wahrscheinlich die Selbe nochmal) geladen, die alle Nachrichten löscht und ausgibt, dass keine Nachrichten vorhanden sind (sie wurden ja gelöscht).

    Dann kannst du die Nachrichten von vor dem Löschen doch eh nicht anzeigen, voraussgesetzt, der Lösch-Code steht auf der Seite über dem Anzeige-Code.
    Wozu musst du dann nochmal die Seite laden?

    Oder hast du es irgendwie hinbekommen, mit JavaScript oder HTML die Nachrichten zu löschen? ;)

    Falls es bei dir trotzdem nötig sein sollte:
    Mit header kannst du ja die gleiche Seite nochmal laden, voraussgesetzt, es wurde noch nichts ausgegeben. Sonst musst du es halt mit JS oder Meta-Refresh machen.
    Eine anderen Möglichkeit wäre mit goto wieder an den Anfang des Codes zu springen und die Seite so quasi neu zu laden. Ist aber schlechter Stil, da der Code so sehr schnell unübersichtlich werden kann.

    starhunter: Stimmt nicht ganz.
    Als Absender wird normalerweise der Server eingetragen, wenn man ihn nicht selbst definiert.

    Auf diese E-Mail Adresse kann man normalerweise aber nicht zugreifen, da sie ja vom PHP-Parser generiert wird.
    (Ist zumindest bei Webspace von einem Provider so, wenn man einen eigenen Server hat, kann es anders sein. Das weiß ich nicht)

    Zitat von &quot;CyberGirl&quot;


    Ich habe die mail Funktion schon lange nicht mehr benutzt, aber wenn ich mich recht erinnere brauchst Du z.B. bei Googlemail o.ä. Username and Passwort und das hast Du nur für Deine eigene Mailadresse.


    Als Absender-Adresse kann man irgendetwas angeben, dafür braucht man keine Zugangsdaten.

    Es wäre praktisch, wenn man die E-Mail Adresse aus dem Formular gleich als Absender hinterlegt, wie R4Zz0R schon gesagt hat.

    Ist doch unlogisch, wenn man auf die E-Mail antwortet und die Antwort dann an einen selber geschickt wird.

    In HTML (inkl. HTML5) ist der Code valide, in XHTML (Strict) dagegen nicht.
    Hier ist das Ergebnis vom W3C-Validator:
    http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fsoeren-thomas.de%2Fflash_einbinden.html
    Damit er auch in XHTML valide ist, fehlt ein Block-Element drumherum und ein Slash am Ende von Param.

    Ob man bei einer Stunde Zeit zwischen den beiden Beiträgen von überkreuzen sprechen kann, ich weiß nicht.

    Benutze nächstes mal bitte die Edit-Funktion, wenn du kurz hintereinander postest.

    Du musst natürlich Höhe, Breite und den Link so schreiben, wie bei deinem anderen Code:

    Code
    <object width="534" height="388"
        data="http://www.mathe-perfekt.com/video/standAlone_omk.swf?url=http://www.mathe-perfekt.com/video/streichelzoo/Streichelzoo.FLV&amp;sound=true&amp;loop=true&amp;tooltip=true&amp;autoplay=true&amp;swfborder=false"
        type="application/x-shockwave-flash">
      <param name="movie" value="http://www.mathe-perfekt.com/video/standAlone_omk.swf?url=http://www.mathe-perfekt.com/video/streichelzoo/Streichelzoo.FLV&amp;sound=true&amp;loop=true&amp;tooltip=true&amp;autoplay=true&amp;swfborder=false">
    </object>


    So funktioniert es, habe ich ausprobiert (http://soeren-thomas.de/flash_einbinden.html).
    Ist aber fast dasselbe, wie dein andere Code, nur ohne extra-Variante für nicht IEs.

    lauras jetzt einfach zu ingnorieren ist auch nicht das Wahre ...

    Nein, der kann nicht funktionieren. Deswegen steht bei der send_mail-Funktion ja auch "TO DO".

    Das wirst du wohl selber hinbekommen, hattest du in deinem vorherigen Code ja auch schon.