Hilfe bei PHP, HTML & Co

    • Offizieller Beitrag

    So, mal einen allgemeinen Thread aufmachen, sowohl für meine (doch recht häufigen) als auch eure Fragen zu den ganzen Seitenbeschreibungssprachen und bestimmten Umsetzungsmöglichkeiten.


    Also schieß ich mal los: Ich bastle einen Webmailer für eine Bekannte und möchte nun neben dem Textfeld ein paar Buttons haben, die, wen man draufklickt, einige vorgegebene Texte im Haupttextfeld des Mailformulars erzeugt. Das ganze soll dann so ähnlich wie hier sein: Wenn man beim Antworten links auf ein Schmeilie klickt, erscheint hier im Eingabefeld ja auch der entsprechende "Code" dafür.


    Auf SelfHTML und SelfPHP hab ich bisher nichts dazu finden können...
    Vielen Dnak schonmal für eure Hilfe!

  • Kann ich dir leider auch keine ganz konkrete Anleitung geben, aber sowiet ich weiss wirst du da am ehesten im Bereich JavaScript zum gewünschten Ergebnis kommen.
    Ich weiss von einigen Webforen dass dort diese Einbindung entweder mit JavaScript oder sogar mit Java gemacht wird, da ich dort aber nie Applets habe laden sehen tippe ich mal auf ersteres.


    Edit: Bingo, in diesem Forum wirds (siehe Quelltext) auch mit JavaScript gemacht.

  • hmm, sollte eigentlich relativ einfach gehen,
    du liest den inhalt des textfeldes per documentgetElementByID aus,
    ergänzt ihn (mit .=) um den text und schreibst das dann wieder in das textfeld rein...
    wenn ich ein paar freie minuten finde, werde ich mich mal dran probieren,...lange kein javascript mher programmiert...


    mit php würde das bestimmt auch gehen, aber dann müsste jdesmal die seite neu geladen werden...

    • Offizieller Beitrag

    Ui, hab leider immernoch keine Ahnung von Java...*schäm*
    Ich hab' eben schonmal auf diversen Fertigskriptseiten gesucht und dabei folgendes Skript gefunden:



    Allein benutzt funktioniert alles so wie's soll, wenn ich da jetzt aber alles richtig in den Head-Tag einsetze und dann einen Button mit dem OnClick-Event example(this.form) mache, passiert auch nach mehrmaligem draufdrücken nichts.


    [edit]: Hab's nochmal geändert!

  • ooh...lange nicht mher alte threads angeguckt...
    8) da war noch ne unbeantwortete frage.... ich werd mir das trotzdem nochmal anschaun damit wenigstens noch ne lösung dasteht. wenn du's dann noch gebrauchen kannst ist gut.


    ansonsten querverweise ich an dieser stelle mal auf ein neues board, das sich mit solchen thematiken beschäftigt:


    ;)



    edit: noch eine kleine änderung: ich sass wohl heut etwas auf meiner leitung. ich schätz mal, das problem ist schon gelöst, oder?

  • ok, ich hab da mal was zusammengeschrieben, das dor weiter helfen könnte.
    die wichtigsten stellen hab ich mit nem kommentar versehen...
    du kannst den code einfach rauskopieren und mal ein bisschen rumprobieren.
    die buttons kann man noch als bild machen, da haben wir dann den smiley-effekt komplett vom board abgeguckt.
    das prinzip lässt sich eigentlich leicht verstehen, um neue smileys hinzuzufügen...
    der rest lässt sich mit etwas html und css anpassen. bei weiteren fragen steht ich gern zur verfügung...


    • Offizieller Beitrag
    Zitat

    Original von dmaphy

    Code
    <input type="button" onclick="add_smiley(':))')" value=":))">


    ha, gleich auf den ersten draufblick einen fehler entdeckt ...


    das da hinten darf nicht "> heißen sondern muss "/> heißen :P


    sicher nur ein schreibfehler wenn man den zusammenhang so ansieht aber ich wollte es nur so sagen (schreibfehler können immer wieder passieren aber wenn man mal ein 100000 zeilen programm hat und da nen schreibfehler drine hat kann es oft sehr nervenraubend sein den zu suchen) ....

  • sorry, hast recht. ich hab mich auf die funktion konzentriert und nich darauf, dass der code xhtml-konform ist...normalerweise bin ich da mit mir selber sehr streng... ;)

    • Offizieller Beitrag

    So, nach sehr langer Zeit hab ich heute wiedermal meine alten Homepageskripte ausgekramt, mit denen ich ein einfaches CMS in PHP mit MySQL (das klingt LOL:D) realisieren wollte.


    Soweit funktionieren auch die grundlegenen Funktionen, Kategorien/Unterkategorien erstellen/bearbeiten/löschen und Artikel schreiben/bearbeiten/löschen...


    Bei letzterem wird aber sicherlich zwangsläufig ein Problem auftreten und wenn nicht, ist's einfach nur unschön anzusehen:
    Ich übergebe momentan über ein Formular mit GET (so dass ich Variablen auch in Links einfach übergeben kann) sämtliche Daten, die dann in die Datenbank geschrieben werden. Bei den kurzen Testtexten für die Artikel kein Problem, aber wenn ich einen richtig langen Text schreiben sollte, wird der Link in der Browseradresszeile entweder ellenlang sein oder der IE macht's gar nicht erst mit...:P
    Deswegen die Frage: Wie kann ich das am besten lösen? (Texteingabe, Bestätigungsbutton drücken, Datenbankeintrag)

  • Bei richtig langen Texten lässt sich eine Übertragung per POSt wohl nicht vermeiden, also method="post" im Formular anwenden. Auslesen lassen sich die Daten dann mit $_POST, äquivalent zu $_GET . Hoffe das hilft dir schon weiter. :)

  • Auf alle Fälle solche Daten mit POST übergeben lassen, dann können die Felder auch sehr lange Inhalte haben.


    Was auch noch wichtig ist, vor allem, wenn Du die Daten direkt in die DB schreiben willst, ist eine Formularvalidierung; ist leider eine lästige Notwendigkeit, damit man nicht über das Formular die DB hacken kann (mit sog. SQL Injection; habe einige Versuche zu diesem Thema hinter mit. Seit ich gesehen habe, was man damit alles machen kann, ist bei mir jede DB dicht)

    • Offizieller Beitrag

    Darüber hab ich sowieso mal nachgedacht, danke für den Link, werd ich mich gleich mal einlesen!:)


    [edit]: Puh, ganz schön harte Kost...Ist das tatsächlich der komplette Code für EIN Formular??


    [edit2]: Hm, wenn ich das bei Wikipedia richtig lese, reicht dann als erste generelle Vorbeugung der Befehl mysql_real_escape_string?

  • mysql_real_escape_string() schützt tatächlich relativ sicher vor SQL-Manipulation.


    Formulare sind in der Tat eine der grossen Geisseln für Webentwickler (vor allem im Zusammehang mit Mailversand und Datenbanken). An sich müsste man jedes Feld nach genau den Werten validieren, welche es enthalten darf, also z.B. ein Zahlenfeld sollte nur Zahlen enthalten dürfen usw.


    Nimmt man dann noch das Problem der Spambots hinzu, welche haufenweise öffentliche Gästebücher mit Werbung für Vi/\gR@ und anderes rotlichtiges Zeugs vollschreiben, muss man noch weitere Massnahmen treffen -- in dem Fall ein sog. Captcha; davon gibt es zum Glück schon einige für PHP.


    EDIT: Noch fast vergessen: Schau Dir auch noch diese Seite an:
    vor allem folgendes:

    Zitat

    Wenn du mysql_real_escape_string verwendest, solltest du beachten, dass du die Daten beim Lesen wieder mit mit stripslashes zurück konvertieren musst. Danach sind die Daten wieder als gefährlich anzusehen. Du darfst sie z.B. nicht einfach an den Browser senden, da du dadurch wieder eine Cross Site Scripting Attacke ermöglichen würdest.


    Ich sagte ja, die Geissel... ;)

    • Offizieller Beitrag
    Zitat

    Original von meril
    Nimmt man dann noch das Problem der Spambots hinzu, welche haufenweise öffentliche Gästebücher mit Werbung für Vi/\gR@ und anderes rotlichtiges Zeugs vollschreiben, muss man noch weitere Massnahmen treffen -- in dem Fall ein sog. Captcha; davon gibt es zum Glück schon einige für PHP.


    ...davon kann ich ein Liedchen singen :( ...ich hatte durchschnittlich über 100 Spameinträge in meinem Gästebuch pro Tag, die üblichen Sperren nützten gar nichts, ich war nur noch am Löschen, bis Stefan mir eine 'Sicherung' eingebaut hat, seitdem ist Ruhe.... Ich hoffe nur, daß das auch so bleibt... ;)

    • Offizieller Beitrag

    Heyho mal wieder!


    Bin ja vor Ewigkeiten mal auf Word Press umgestiegen und heute hab ich mir mal für meine HP () ein kleines Introvideo gebastelt. Nach langem Hin und Her hab ich auch einen Konverter für Videos in Flashdateien gefunden und über Code das ganze auch in meine Startseite eingebunden.
    Soweit ich das erlesen hab, wird das Video bei folgendem Code gestreamed:



    Mein Problem ist aber, dass zwar die erste Sekunde des Videos kommt, dieser Abschnitt aber extremst flackert und dann das ganze Ding grau wird und minutenlang nichts passiert.
    Beim Test auf'm Rechner lief's einwandfrei...also, auch die Anwendung des Codes lief problemfrei...


    Hat jemand irgendeine Ahnung, woran das liegen könnte?


    [edit]: Ok. hat sich...es lag an einer nicht vollständig hochgeladenen Datei...