• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP in HTML einbetten ? wie ?

Halim55

Neues Mitglied
Hallo Comminity,

ich habe ein Kontaktformular in .php format und ich möchte es in meiner HP .html Format einbetten. Aber leider weiß ich nicht wie das geht. brauche dringend hilfe :D

Das ist das Kontaktformular PHP
PHP:
<?php
// wenn das Formular übermittelt wurde
if(isset($_POST['abschicken'])){
    while(list($feld,$wert)=each($HTTP_POST_VARS)){
        // übermittelte Inhalte "entschärfen"
        $wert=preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",$wert);
        $$feld=$wert;
        // die übermittelten Variablen werden zum "Text der Email" zusammengefasst
        if($feld!="abschicken") $mailnachricht.=ucfirst($feld).": $wert\n";
    }
    $mailnachricht.="\nDatum/Zeit: ". date("d.m.Y H:i:s");
    // Überprüfen ob alle Pflichtfelder gefüllt sind
    empty($nachname) ? $err[] = "<p>- Bitte den Nachnamen angeben.</p>" : false;
    empty($vorname) ? $err[] = "<p>- Bitte den Vornamen angeben.</p>" : false;
    empty($email) ? $err[] = "<p>- Bitte die Email-Adresse angeben.</p>" : false;
    empty($text) ? $err[] = "<p>- Welchen Wunsch haben Sie? Bitte den Text eingeben.</p>" : false;
    // wenn nicht, werden die Fehlermeldungen ausgegeben und das "halbgefüllte" Formular angezeigt
    if(!empty($err)) {
        echo "<p>Bitte korrigieren Sie folgende Fehler:</p>";
        foreach($err as $fehler){
            echo $fehler;
        } ?>
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
      <table width="100%" border="0" cellpadding="3" cellspacing="1">
        <tr><td width="140" align="right">*Nachname:</td><td align="left"><input type="text" name="nachname" value="<?php echo $nachname; ?>" style="width:100%;" /></td></tr>
        <tr><td align="right">*Vorname:</td><td align="left"><input type="text" name="vorname" value="<?php echo $vorname; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">Firma:</td><td align="left"><input type="text" name="firma" value="<?php echo $firma; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">Postanschrift:</td><td align="left"><input type="text" name="strasse" value="<?php echo $strasse; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">Telefon:</td><td align="left"><input type="text" name="telefon" value="<?php echo $telefon; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">*E-Mail:</td><td align="left"><input type="text" name="email" value="<?php echo $email; ?>" style="width:100%" /></td></tr>
        <tr><td colspan="2"><textarea rows="12"  style="width:100%" name="text"><?php echo $text; ?></textarea></td><td> </td></tr>
        <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Formular l&ouml;schen" style="width:49%" />  <input type="submit" name="abschicken" class="button" value="Formular absenden" style="width:49%" /></td></tr>
      </table>
        </form>
        <p>*Pflichtfelder</p>
<?php    // sind keine Fehler vorhanden, wird die Email versendet
    } else {
        $mailbetreff="Kontaktformular ".$_SERVER['HTTP_HOST'];
        // HIER DIE EMPFÄNGER EMAIL-ADRESSE ANPASSEN!!!       
        echo (mail("[email protected]", $mailbetreff, $mailnachricht, "From: $email")) ? "<p>Vielen Dank für Ihre eMail!</p>": "<p>Ein Fehler ist aufgetreten!</p>";
    }
// das Formular welches als erstes dem Besucher angezeigt wird
} else { ?>
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
      <table width="100%" border="0" cellpadding="3" cellspacing="1">
        <tr><td width="140" align="right">*Nachname:</td><td align="left"><input type="text" name="nachname" value="" style="width:100%;" /></td></tr>
        <tr><td align="right">*Vorname:</td><td align="left"><input type="text" name="vorname" value="" style="width:100%" /></td></tr>
        <tr><td align="right">Firma:</td><td align="left"><input type="text" name="firma" value="" style="width:100%" /></td></tr>
        <tr><td align="right">Postanschrift:</td><td align="left"><input type="text" name="strasse" value="" style="width:100%" /></td></tr>
        <tr><td align="right">Telefon:</td><td align="left"><input type="text" name="telefon" value="" style="width:100%" /></td></tr>
        <tr><td align="right">*E-Mail:</td><td align="left"><input type="text" name="email" value="" style="width:100%" /></td></tr>
        <tr><td colspan="2"><textarea rows="12"  style="width:100%" name="text"></textarea></td><td> </td></tr>
        <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Formular l&ouml;schen" style="width:49%" />  <input type="submit" name="abschicken" value="Formular absenden" style="width:49%" /></td></tr>
      </table>
        </form>
        <p>*Pflichtfelder</p>
        <br />
        <br />
        <br />
        <br /><!-- bitte lassen Sie diesen Link sichtbar auf Ihrer Seite. Danke! -->
        <p style="text-align:right;font:normal 10px Verdana, Arial, Helvetica, sans-serif;"><a href="http://www.easy-bytes.de/" target="_blank">Easy Bytes Webdesign</a></p>
<?php
}
?>


und möchte es gerne hier auf meine HP html haben
HTML:
 <h2>Kontakt aufnehmen</h2>
<br>
<br>
(HIER)
</br>
</br>
</br>
</br>
 
PHP Scripts werden in der Regel mit der Dateiendung ".php" hinterlegt, nicht als ".html" HTML Dokument.

Du wirst dein HTML Dokument wohl oder übel in ".php" umbennenen müssen. PHP Code wird dann mit "<?php" eingeleitet und mit "?>" wieder beendet. Dazwischen kannst du wie gewohnt weiter HTML Code benutzen.

Wobei ich das Kontaktformular auf jeden Fall noch überarbeiten würde, Zeichenketten die von der Clientseite stammen, sollten immer ausreichend validiert werden.

Unter anderem an dieser Stelle ist eine XSS Attacke möglich:

PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
$_SERVER['PHP_SELF'] enthält die URI unter der der Client die Seite aufgerufen hat. Ruft der Benutzer die Seite unter der URL "http://www.hostname.tld/feedback.php" auf, so sieht der HTML Code bei Ausgabe an den Client folgendermaßen aus:

PHP:
<form action="/feedback.php" method="post">
Wurde die Seite allerdings über folgende URI aufgerufen:

PHP:
http://hostname.tld/feedback.php/" /><script>alert('xss');</script><!--
Sieht die Ausgabe folgendermaßen aus:
PHP:
 <form action=" " /><script>alert('xss');</script><!--" method="post">
So können Aussehen und Funktion der Seite auf der clientseite beliebig verändert werden. Natürlich würde jeder sofort Verdacht schöpfen, wenn ihm ein solcher Link untergeschoben wird. Aus diesem Grund verschleiern Angreifer eine solche Attacke meist hinter 301 oder 302 Redirects.
 
Zurück
Oben