Kontaktformular Problem

  • Hallo zusammen,

    mein Problem besteht darin das das Script nur die Mitteilung in die E-Mail schreibt, aber nicht die ganzen Angaben wie Telefonnummer. Könnt ihr mir da helfen?

    <?php

    $mail_to="cruiser187@web.de";

    $surname=$_POST['surname'];
    $name=$_POST['name'];
    $birthday=$_POST['birthday'];
    $mail=strtolower($_POST['mail']);
    $street=$_POST['street'];
    $streetnumber=$_POST['streetnumber'];
    $postalcode=$_POST['postalcode'];
    $city=$_POST['city'];
    $country=$_POST['country'];
    $telephone=$_POST['telephone'];
    $remarks=$_POST['remarks'];
    $subject=$_POST['subject'];
    $text=$_POST['text'];


    $send=$_POST['s'];

    if(trim($surname)=="") $err_text.="Bitte gib Deinen Vornamen an.<br>";
    if(trim($name)=="") $err_text.="Bitte gib Deinen Namen an.<br>";
    if(trim($birthday)=="") $err_text.="Bitte gib Dein Geburtstag an.<br>";
    if(trim($mail)=="") $err_text.="Bitte gib Deine E-Mail-Adresse an.<br>";
    else
    if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$mail))
    $err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br>";
    if(trim($city)=="") $err_text.="Bitte gib Deine Stadt an.<br>";
    if(trim($country)=="") $err_text.="Bitte gib Dein Land an.<br>";
    if(trim($subject)=="") $err_text.="Bitte gib einen Betreff ein.<br>";
    if(trim($text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.<br>";

    // *** Zu langen Text abschneiden ***
    if(strlen($text)>2000) {
    $text=substr($text,0,2000)."... (Text wurde gekürzt!)";
    }
    $name=str_replace(chr(34),"''",$name);
    $subject=str_replace(chr(34),"''",$subject);
    $name=stripslashes($name);
    $mail=stripslashes($mail);
    $subject=stripslashes($subject);
    $text=stripslashes($text);

    if(($send=="1") && (isset($err_text))) {
    echo "<p><big><b>Error:</b></big><br>";
    echo "$err_text</p>";
    }

    if(($send!="1") || (isset($err_text)))
    {
    ?>

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <table border=0 cellspacing=2 cellpadding=0 width=100%>
    <tr><td nowrap align=right>Surname:</td><td>&nbsp;</td>
    <td width=100%><input type="text" name="surname" size=50 maxlength=120 value="<?php echo $surname; ?>" class="input"></td></tr>
    <tr><td nowrap align=right>Name:</td><td>&nbsp;</td>
    <td width=100%><input type="text" name="name" size=50 maxlength=120 value="<?php echo $name; ?>" class="input"></td></tr>
    <tr><td nowrap align=right>Birthday:<br /><small>You must be at least 17 years old!</small></td><td>&nbsp;</td>
    <td width=100%><input type="text" name="birthday" size=50 maxlength=120 value="<?php echo $birthday; ?>" class="input"></td></tr>
    <tr><td nowrap align=right>E-Mail:</td><td></td>
    <td width=100%><input type="text" name="mail" size=50 maxlength=120 value="<?php echo $mail; ?>" class="input"></td></tr>
    <tr><td nowrap align=right>Street:</td><td>&nbsp;</td>
    <td width=100%><input type="text" name="street" size=50 maxlength=120 value="<?php echo $street; ?>" class="input"></td></tr>
    <tr><td nowrap align=right>Housenumber:</td><td>&nbsp;</td>
    <td width=100%><input type="text" name="streetnumber" size=50 maxlength=120 value="<?php echo $streetnumber; ?>" class="input"></td></tr>
    <tr><td nowrap align=right>Postal code:</td><td>&nbsp;</td>
    <td width=100%><input type="text" name="postalcode" size=50 maxlength=120 value="<?php echo $postalcode; ?>" class="input"></td></tr>
    <tr><td nowrap align=right>City:</td><td>&nbsp;</td>
    <td width=100%><input type="text" name="city" size=50 maxlength=120 value="<?php echo $city; ?>" class="input"></td></tr>
    <tr><td nowrap align=right>Country:</td><td>&nbsp;</td>
    <td width=100%><input type="text" name="country" size=50 maxlength=120 value="<?php echo $country; ?>" class="input"></td></tr>
    <tr><td nowrap align=right>Telephone:</td><td>&nbsp;</td>
    <td width=100%><input type="text" name="telephone" size=50 maxlength=120 value="<?php echo $telephone; ?>" class="input"></td></tr>
    <tr><td nowrap align=right>Remarks:</td><td>&nbsp;</td>
    <td width=100%><input type="text" name="remarks" size=50 maxlength=120 value="<?php echo $remarks; ?>" class="input"></td></tr>
    <tr><td nowrap align=right>Subject:</td><td></td>
    <td width=100%><input type="text" name="subject" size=50 maxlength=120 value="<?php echo $subject; ?>" class="input"></td></tr>
    <tr><td nowrap align=right valign=top>Message:</td><td></td>
    <td width=100%><textarea cols="40" rows="10" name="text" class="input"><?php echo $text; ?></textarea></td></tr>
    <tr><td></td><td></td><td>
    <input type="hidden" value="1" name="s" class="input">
    <input type="submit" value="Send" name="submit">
    </td></tr>
    </table>
    </form>


    <?php
    } else {
    $header="From: $name <$mail>\n";
    $header.="Reply-To: $mail\n";
    $header.="X-Mailer: PHP-FormMailer\n";
    $header.="Content-Type: text/plain";
    $mail_date=gmdate("D, d M Y H:i:s")." +0000";
    $send=0;
    if(@mail($mail_to,$subject,$text,$header))
    {
    echo "<p><b>Deine E-Mail wurde abgesendet.</b></p>";
    echo "<p><a href=\"".$_SERVER['PHP_SELF']."?name=$name&mail=$mail\">Back</a></p>";
    }else{
    echo "<p><b>Error!</b></p>";
    echo "<p><a href=\"".$_SERVER['PHP_SELF']."?name=$name&mail=$mail&subject=$subject&text=";
    echo urlencode($text)."\">Back</a></p>";
    }
    }
    ?>

  • $text=$_POST['text'];
    :
    :
    if(@mail($mail_to,$subject,$text,$header))

    Wenn du nur den Text da reinschreibst, was erwartest du?

    Außerdem ist dein Script eine Katastrophe! Schreibe mal diese beiden Zeilen

    PHP
    error_reporting(E_ALL);
    ini_set("display_errors", true);


    an den Anfang und dann viel Spaß beim korrigieren.

    Noch ein Hinweis: gebe mal bei google "$_SERVER['PHP_SELF'] xss" ein!