Beiträge von webmaster3000

    Ja, ich kenn das auch. Da hast du was großaritges im Kopf, fänst an, es einzugeben und das war´s.


    Bei Designs hilft nur, sofort zu Bleistift und Papier zu greifen.
    Bei PHP-Skripts muss darf man das Zeil nicht aus den Augen verlieren. Ist die Umsetzung komplexer, muss man sich eben auch erst eine Skizze zum Programmablauf anfertigen oder klein anfangen und das Skript danach erweitern.

    "drPHIP132" schrieb:

    versuche mal

    PHP
    1. <span class="syntaxdefault"><br />filetype</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">readdir</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$handle</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span>


    Das wird nichts, versprochen.


    readdir rückt bei jedem Aufruf einen Eintrag nach vorne, egal ob man es nur im Schleifenkopf oder auch im Schleifenrumpf aufruft.
    Tust du Letzteres, kommen auf einen Schleifendurchlauf zwei readdir-Aufrufe.


    Zu deinem Problem: es kann passieren, dass das Dateisystem (oder die Datei) defekt ist, die Datei noch angezeigt wird, aber gar nicht mehr existiert, wodurch man nicht feststellen kann, ob es eine Datei oder ein Ordner ist. Versuch also, die Datei zu öffnen, den Inhalt rauszukopieren, die Datei zu löschen, mit gleichem Namen neu anzulegen und den Inhalt wieder abzuspeichern. Scheiterst du damit, führ mal chkdsk aus.


    Nutzt du Linux, musst du überprüfen, ob der Webserver die nötigen Rechte hat. Einfach mal die Ausgabe von ls -l ansehen/posten.


    Hoffe, ich konnte helfen,
    webmaster3000

    Von Zeit zu Zeit treten Sicherheitslücken in der JavaScript-Sandbox auf, durch die der Virus "ausbrechen" kann. Dabei spricht man von Drive-By-Downloads.
    Daneben gibt es noch andere Infektionswege, z. B. ein als nützliches Programm getarnter Schädling (Trojaner) oder infizierte USB-Sticks.

    Javascript und Sicherheit, ein Thema, über das man sich streiten kann.


    Ich sage: Javascript ist sicher, da es in einer sog. Sandbox ausgeführt wird, sodass der Browser oder das Betriebssystem nicht modifiziert werden kann (oder hast du schon Javascripts gesehen, die Dateien auf den Client lesen/schreiben?).


    Schadsoftware (oder Gefahren) im Internet ist/sind immer nocht Trojaner, Phishing, Bot-Nets und der klassische Virus. Javascript spielt da eine untergeordnete Rolle.


    Warum Javascript dennoch von vielen Nutzern abgeschlatet wird, lässt sich erklären, wenn man sich anschaut, wofür Seitenbetreiber es verwenden: Ausspionierung des Surfverhaltens (Stichwort: Google Analytics), nervige Popups, Cookies.


    Der wichtigste Hinweis bzgl. Computersicherheit ist immer noch: Die größte Bedrohung des Computers sitzt vor dem Bildschirm.


    Hoffe, ich konnte Licht ins Dunkel bringen,
    webmaster3000

    &quot;Marcus77&quot; schrieb:

    mein Spendermail bekomme ich mit diesem Datensatz:

    Code
    1. <input name="hiddenField" type="text" size="27" />


    muß ich demnach


    $hiddenField schreiben ???


    Nein, sondern $_GET['hiddenField'] bzw. $_POST['hiddenField'] (wichtig: gegen Mail Header Injection vorbeugen!


    &quot;Marcus77&quot; schrieb:

    und wo geeb ich meinen Nachrichtentext an ??
    in der lang_ini ??


    z. B.


    &quot;Marcus77&quot; schrieb:

    zugleich habe ich eine zusatzfragem wenn ich nach dem SENDEN aug zurück gehe, stehen meine Daten noch immer im Formular !
    Wie unterbinde ich das ??


    Das ist eine andere Frage...

    &quot;drPHIP132&quot; schrieb:

    die box soll dynamisch groß sein, sprich wird der inhalt größer verbreitert sie sich, aber nimmt nicht die ganze breite ein?


    vllt hat er die Boxen in einem anderen Element (z. B. einer Sidebar), die schon eine feste Breite hat?

    PHP
    1. <?php
    2. function tuersteher( $zum_testen )
    3. {
    4. if ( preg_match("/(to:|cc:|bcc:|from:|subject:|reply-to:|content-type:|MIME-Version:|multipart/mixed|Content-Transfer-Encoding:)/ims", $zum_testen))
    5. {
    6. echo "hallo";
    7. }
    8. ?>
    9. <!DOCTYPE html>


    Das darf auf keinen Falll in deiner Datei stehen, weil sich zwischen ?> und <!DOCTYPE ein Zeilenumbruch befindet, der mit ausgegeben wird. Somit hat der Doctype keine Wirkung mehr (guck mal in deinem Browser in den Quelltext).

    Eine C++-Datei ist eine normale Textdatei. Darin steht z. B. der Code, den Basii gepostet hat.
    Damit der Computer etwas damit anfangen kann, muss der Compiler sie in Maschinencode übersetzen. Dabei entsteht (unter Windows) eine ausführbare Datei mit der Endung .exe, die du einfach ausführen kannst.
    Und ein Compiler ist eigentlich nur ein Kommandozeilentool. Compiler, Editor und Debugger zusammengefasst ergibt eine Integrierte Entwicklungsumgebung (IDE).


    Hoffe, ich konnte Licht ins Dunkel bringen,
    webmaster3000

    From und Reply-To ist die Adresse, an die der Empfänger der Dankesmail antworten soll, also deine.


    $antwortAdresse ist die E-Mail-Adresse des Spenders, die du im Formular abfragen musst.
    $nachrichtentext ist der Inhalt der Dankesmail, den musst du noch in deiner PHP-Datei hinterlegen.

    Nimm z. B. eine MySQL-Insert-Funktion, die ein Array mit den einzufügenden Daten entgegennimmt:

    PHP
    1. <span class="syntaxdefault"></span><span class="syntaxkeyword">function </span><span class="syntaxdefault">insert</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$eintrag</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">){<br /> if (!</span><span class="syntaxdefault">is_array</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$eintrag</span><span class="syntaxkeyword">)){<br /> echo </span><span class="syntaxstring">"Falscher Parametertyp"</span><span class="syntaxkeyword">; return </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">;<br /> }<br /> foreach (</span><span class="syntaxdefault">$eintrag </span><span class="syntaxkeyword">as </span><span class="syntaxdefault">$index </span><span class="syntaxkeyword">=> </span><span class="syntaxdefault">$value</span><span class="syntaxkeyword">){<br /> </span><span class="syntaxdefault">$index_escaped </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">mysql_real_escape_string</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$index</span><span class="syntaxkeyword">));<br /> </span><span class="syntaxdefault">$value_escaped </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">mysql_real_escape_string</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$value</span><span class="syntaxkeyword">));<br /> </span><span class="syntaxdefault">$eintrag_escaped</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$index_escaped</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$value_escaped</span><span class="syntaxkeyword">;<br /> }<br /> </span><span class="syntaxdefault">$table_escaped </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">mysql_real_escape_string</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">)); <br /> </span><span class="syntaxdefault">$sql </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"INSERT INTO `$table_escaped` ("</span><span class="syntaxkeyword">;<br /> </span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">;<br /> foreach (</span><span class="syntaxdefault">$eintrag_escaped </span><span class="syntaxkeyword">as </span><span class="syntaxdefault">$spalte </span><span class="syntaxkeyword">=> </span><span class="syntaxdefault">$inhalt</span><span class="syntaxkeyword">) {<br /> if (</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">$sql </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">","</span><span class="syntaxkeyword">;<br /> </span><span class="syntaxdefault">$sql </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">"`$spalte`"</span><span class="syntaxkeyword">;<br /> </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">++;<br /> }<br /> </span><span class="syntaxdefault">$sql </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">") VALUES ("</span><span class="syntaxkeyword">;<br /> </span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">;<br /> foreach (</span><span class="syntaxdefault">$eintrag_escaped </span><span class="syntaxkeyword">as </span><span class="syntaxdefault">$spalte </span><span class="syntaxkeyword">=> </span><span class="syntaxdefault">$inhalt</span><span class="syntaxkeyword">) {<br /> if (</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">$sql </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">","</span><span class="syntaxkeyword">;<br /> </span><span class="syntaxdefault">$sql </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">"'$inhalt'"</span><span class="syntaxkeyword">;<br /> </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">++;<br /> }<br /> </span><span class="syntaxdefault">$sql </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">");"</span><span class="syntaxkeyword">;<br /> return </span><span class="syntaxdefault">$sql</span><span class="syntaxkeyword">;<br /> } </span><span class="syntaxdefault"></span>

    Man muss gar nicht vom "bösen Hacker" ausgehen. Die Validierung des Formulars (und hier der E-Mail) macht man nämlich, damit beimAusfüllen dem unachtsamen/unkozentrierten User keine Fehler unterlaufen, über die er sich noch ärgern könnte.


    Beispiel: Die Anmeldung an einem Newsletter.
    Der Besucher ist interessiert, vergisst beim eingeben aber die TLD seiner E-Mail-Adresse und bemerkt es nicht. Ein Validiertes Formular macht ihn darauf aufmerksam, ein nicht Validiertes versucht jedes mal, einer ungültigen E-Mail-Adresse etwas zuzusenden.


    Gruß,
    webmaster3000

    Alles, was du mit HTML ausgibst, kann sehr leicht modifiziert werden.
    Außerdem steht in den Sternen, inwiefern Browser verhindern, dass dort etwas anderes als eine E-Mail-Adresse eingegeben wird.

    Nicht ganz, so:

    PHP
    1. <span class="syntaxhtml"><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /> if(!</span><span class="syntaxdefault">$sql</span><span class="syntaxkeyword">)<br /> print </span><span class="syntaxdefault">mysql_error</span><span class="syntaxkeyword">(); </span><span class="syntaxcomment">// ausgabe wenn das Ganze nicht geklappt hat<br /> </span><span class="syntaxkeyword">else<br /> {<br /> print </span><span class="syntaxstring">'Hat geklappt..'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxcomment">// Antwort Beginn<br /> </span><span class="syntaxdefault">$header </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"reply-to: antwort@adresse.tld\n<br /> From: deine@adresse.tld"</span><span class="syntaxkeyword">;<br /> </span><span class="syntaxdefault">mail</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$antwortAdresse</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Vielen Dank für ihre Spende"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$nachrichtentext</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$header</span><span class="syntaxkeyword">);<br /></span><span class="syntaxcomment">// Antwort Ende<br /> </span><span class="syntaxkeyword">}<br /> }<br /> }<br /> }<br /> else<br /> {<br /><br /></span><span class="syntaxdefault"> </span></span>


    Gruß,
    webmaster3000

    Zum Programmieren braucht man logisches Denken, was dir aber nicht schwer fällt. Und bei Mathe kommt es wirklich auf den Lehrer an. Und als Webdesigner sind auch noch andere Fähigkeiten vonnöten (z. B. guter Geschmack was Harmonie von Farben und so was angeht...


    So gesehen dürfte es dir nicht schwer fallen.

    Ich würde es hinter

    PHP
    1. <span class="syntaxdefault"></span><span class="syntaxkeyword">print </span><span class="syntaxstring">'Hat geklappt..'</span><span class="syntaxkeyword">; </span><span class="syntaxdefault"></span>

    setzen.