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

Kontaktformular/ Echo-Alert macht nicht was er soll! HILFE

fabianfabian

Neues Mitglied
hallo,

und wieder einmal jemand der eigentlich keine ahnung hat, und "da-irgendwie-reingeraten-ist", tut mir leid. :cry:

also mein problem ist, dass wenn man mein kontaktformular inkorrekt ausfüllt, die hinweise (alert, echo php) nicht vor der eigentlichen site auftauchen sondern vor weißem bzw. grauem hintergrund. ein übliches problem wie es scheint. aber ich kriegs nicht gebacken, hab alles versucht.

die vorlage stammt hier her: html.de


hier der code fürs php:

PHP:
<?php

$anrede = $_POST['anrede'];
$name = $_POST['name'];
$firstname = $_POST['firstname'];
$mail = $_POST['mail'];

$street = $_POST['street'];
$plz = $_POST['plz'];
$ort = $_POST['ort'];

$country = $_POST['country'];
$phonenumber = $_POST['phonenumber'];

$thema = $_POST['thema'];
$termin = $_POST['termin'];



$send = $_POST['send'];

function checkEmail( $mail )
{
    $nonascii      = "\x80-\xff";
    $nqtext        = "[^\\\\$nonascii\015\012\"]";
    $qchar         = "\\\\[^$nonascii]";
    $normuser      = '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
    $quotedstring  = "\"(?:$nqtext|$qchar)+\"";
    $user_part     = "(?:$normuser|$quotedstring)";
    $dom_mainpart  = '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.';
    $dom_subpart   = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*';
    $dom_tldpart   = '[a-zA-Z]{2,5}';
    $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart";
    $pattern       = "$user_part\@$domain_part";

    if (!preg_match( "/$pattern$/", $mail ))
    {
        return FALSE;
    }
    else
    {
        return TRUE;
    }
        
        
        
        
        
}

if(isset($send)){

  if ($name == "") {
    echo "<script type=\"text/javascript\"> alert(\"Sie haben Ihren Namen nicht angegeben!\");</script>";
                
  } elseif ($firstname == "") {
    echo "<script type=\"text/javascript\"> alert(\"Sie haben Ihren Namen nicht angegeben!\");</script>";
        
  } elseif (!checkEmail( $_REQUEST['mail'] )) {
    echo "<script type=\"text/javascript\"> alert(\"Die angegebene Email Adresse ist nicht gueltig!\");</script>";
        
  } else {




$datum = date("d.m.Y");
  $uhrzeit = date("H:i");
  $datum=$datum ."-". $uhrzeit ."Uhr";



    $ich = "[email protected]";
  $betreffemail = "Kontaktformular";
  $text =

  "Anrede: ".$anrede."
  Name: ".$name."
  Vorname: ".$firstname."

  E-Mail: ".$mail."
  Strasse, Nr.: ".$street."
  PLZ: ".$PLZ."
  ORT: ".$ort."

  Land: ".$country."
  Telefon: ".$phonenumber."
  Rückruf: ".$termin."


  Thema: ".$thema."
  Sendedatum: ".$datum."



  ";
  mail($ich, $betreffemail, $text,
  "From: Absender <Absenderemail>");
  echo"Ihre Nachricht wurde erfolgreich verschickt! <br>";

echo"<script type=\"text/javascript\"> alert(\"Ihre Nachricht wurde erfolgreich verschickt!\");</script>";



}
}
?>

HTML:
hier der code fürs formular (leider tabellenlastig - ging nicht anders)


<form action="Kontakt.php" target="_self" method="post" enctype="multipart/form-data" name="contact" id="contact" type="text/plain">
    <div style="WIDTH: 940px; padding: 0px 0px 0px 0px;" id="contact">

      <table width="940" border="0" align="center" cellpadding="0" cellspacing="0" class="label_dialog" style="WIDTH: 100%;">
      <tbody>

    <tr style="WIDTH: 100%; HEIGHT: 30px">
        <td width="453" height="30"><div id="anrede_label">Anrede*</div></td>

        <td style="WIDTH: 313px"><select name="anrede" style="FLOAT: left; width: 470px;" onChange="axpw_changeSelect(this);">
    <option selected>Bitte wählen</option>
    <option>Frau</option> <option>Herr</option></select>
        <input id="txt_anrede" type="hidden"></td></tr>


        <tr style="HEIGHT: 30px">
    <td width="453">
    <div id="txt_name_label">Name*</div></td>
    <td><input name="name" style="WIDTH: 470px; background-color: #F6F1DD; height: 25px;"></td></tr>

    <tr style="HEIGHT: 30px">
    <td width="453">
        <div id="txt_vorname_label">Vorname*</div></td>
    <td><input name="firstname" style="WIDTH: 470px; background-color: #F6F1DD; height: 25px;"></td></tr>

    <tr style="HEIGHT: 30px">
    <td width="453">
    <div id="txt_mail_label">E-Mail*</div></td>
    <td><input name="mail" style="WIDTH: 470px; background-color: #F6F1DD; height: 25px;"></td></tr>

    <tr style="HEIGHT: 30px">
    <td width="453">
    <div id="txt_strasse_label">Strasse, Nr.</div></td>
    <td><input name="street" style="WIDTH: 470px; background-color: #F6F1DD; height: 25px;"></td></tr>

    <tr style="HEIGHT: 30px">
    <td width="453">
    <div id="txt_plz_label">PLZ, Ort</div></td>
    <td width="487"><input name="PLZ" class="label_dialog_plz"  id="txt_plz" style="WIDTH: 233px; background-color: #F6F1DD; height: 25px;">
        <input name="ort" style="WIDTH: 233px; background-color: #F6F1DD; height: 25px;"></td></tr>

        <tr style="HEIGHT: 30px">
    <td width="453">
    <div id="txt_telefon_label">Telefon</div></td>
    <td colspan=""><select style="FLOAT: left; width: 231px;" onChange="axpw_changeSelect(this);" name="country">
    <option selected>Bitte wählen</option>
    <option>DE</option> <option>AT</option> <option>CH</option> <option>LU</option> <option>LI</option></select>
    <input id="txt_country" type="hidden">

    <input name="phonenumber" style="WIDTH: 232px; background-color: #F6F1DD; height: 25px;"></td></tr>

        <tr style="WIDTH: 100%; HEIGHT: 30px">
          <td width="453" style="WIDTH: 85px">
    <div id="txt_termin_label">Anliegen | Thema | Sonstiges</div></td>
          <td style="WIDTH: 335px"><span class="sendContact" style="WIDTH: auto">
    <textarea name="thema" id="thema" style="width:470px; background-color:#F6F1DD"></textarea>
          </span></td></tr>


        <tr style="WIDTH: 100%; HEIGHT: 30px">
          <td width="453" style="WIDTH: 85px">
          <div id="txt_rtermin_label"><span style="WIDTH: 335px">Rückruf in der Zeit von - bis erbeten</span></div></td>
          <td style="WIDTH: 335px"><input name="termin" style="WIDTH: 470px; background-color:#9BEA96; height: 25px;"> </td></tr>

        <tr style="WIDTH: 100%; HEIGHT: 30px">
        <td colspan="2" class="sendContact" style="WIDTH: auto">
          <br>
        <input type="submit" name="send" id="send" value="Abesnden" style="width:920px; text-align:center; background-color:#000; color:#FFF">
        </td></tr></tbody></table>

      *Die   markierten Felder sind Pflichtfelder.

    </div>



     </form>

ich studiere eigentlich was ganz anderes. hab mit dreamweaver angefangen und verdien halt ein bisschen geld damit. wäre toll wenn ihr mir helfen könntet. :oops:

die site is auf meinem testserver der uni.

Kontakt

bin gespannt wo der fehler liegt
 
Verzichte auf dieses Alert-Fenster. Ich vermute es wird schon ausgeführt und angezeigt bevor der Browser die restliche Seite geladen hat. Das wie auch das Eingaben im Formular verschwinden wenn man mal was falsch eingegeben hat sind ärgerlich für den Besucher. Gib Hinweise lieber direkt in der Webseite aus statt per JavaScript.

Außerdem ist das ein PHP-Thema, weshalb ich dein Topic gleich mal dorthin geschoben habe.
 
Zurück
Oben