zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Hilfe bei Kontaktformular -> Select-Felder

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 13.12.2008, 09:53
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 28.05.2007
Beiträge: 27
scroll befindet sich auf einem aufstrebenden Ast
Standard Hilfe bei Kontaktformular -> Select-Felder

Hallo,
vorab, ich bin völlig unwissend was PHP betrifft.

Ich verwende ein fertiges Script für ein Kontaktformular. Das funktioniert auch prima und einwandfrei.
Nun möchte ich zusätzlich drei select-Felder einbauen und die Angaben zugeschickt bekommen.
Das Einbauen der Felder ist kein Problem, nur das Auslesen mit PHP verstehe ich leider gar nicht. Probiert habe ich einiges, aufgrund fehlender Kenntnisse auch ohne Ergebnis.

Vielleicht kann mir jemand helfen.
Hier die Seite:
PHP-Code:
<?php
$pagename
="kontakt.php";
$error=$firma=$name=$email=$telefon=$anfrage="";
$empfaenger="test@homepage.de";

if(isset(
$_POST['domail'])) {
    
$firma=get_magic_quotes_gpc() ? stripslashes($_POST['firma']) : $_POST['firma'];
    
$name=get_magic_quotes_gpc() ? stripslashes($_POST['name']) : $_POST['name'];
    
$email=get_magic_quotes_gpc() ? stripslashes($_POST['email']) : $_POST['email'];
    
$telefon=get_magic_quotes_gpc() ? stripslashes($_POST['telefon']) : $_POST['telefon'];
    
$anfrage=get_magic_quotes_gpc() ? stripslashes($_POST['anfrage']) : $_POST['anfrage'];
    
    if(
strpos($firma,"\r\n")>|| strpos($firma,"\n")>0) {
        
DebugAttack(substr($firma,strpos($firma,"\r\n")));
        
$firma="";
    }
    if(
strpos($name,"\r\n")>|| strpos($name,"\n")>0) {
        
DebugAttack(substr($name,strpos($name,"\r\n")));
        
$name="";
    }
    if(
strpos($email,"\r\n")>|| strpos($email,"\n")>0) {
        
DebugAttack(substr($email,strpos($email,"\r\n")));
        
$email="";
    }
    if(
strpos($telefon,"\r\n")>|| strpos($telefon,"\n")>0) {
        
DebugAttack(substr($telefon,strpos($telefon,"\r\n")));
        
$telefon="";
    }

    
$ok=true;
    if (
strlen($firma)<2// der Firmenname muss mindestens 2 Zeichen haben
    
{
        
$err[0]=true//Fehler merken
        
$ok=false;    //Fehlerflag setzen
        
$error.='Bitte geben Sie Ihren Firmennamen an.<br />'// Fehlertext
    
}
    if (
strlen($name)<3// der Name muss mindestens 3 Zeichen haben
    
{
        
$err[1]=true//Fehler merken
        
$ok=false;    //Fehlerflag setzen
        
$error.='Bitte geben Sie Ihren Namen an.<br />'// Fehlertext
    
}
    if ( (!(
eregi('^[a-z0-9_\.-]+@[a-z0-9_-]+\.[a-z0-9_\.-]+$',$email))) && (strlen($email)>0) || $email=="")
    {
        
//email-Adresse ist ungueltig
        
$err[2]=true;
        
$ok=false;
        
$error.='Bitte kontrollieren Sie die eMail-Adresse.<br />';
    }
    if (
strlen($telefon)<5// die Telefonnummer muss mindestens 5 Zeichen haben
    
{
        
$err[3]=true//Fehler merken
        
$ok=false;    //Fehlerflag setzen
        
$error.='Bitte geben Sie Ihre Telefonnummer an.<br />'// Fehlertext
    
}
    if (
strlen($anfrage)<10// die Message muss mindestens 10 Zeichen haben
    
{
        
$err[4]=true//Fehler merken
        
$ok=false;    //Fehlerflag setzen
        
$error.='Bitte geben Sie eine Nachricht ein.<br />'// Fehlertext
    
}
    if(
$ok)
    {
        
$mailheader="From: test@homepage.de\r\nX-Mailer: PHP/" phpversion(). "\r\nX-Sender-IP: ".$_SERVER['REMOTE_ADDR']."\r\nContent-Type: text/html; charset=utf-8;";
        
$message=nl2br("Name: $name\nEmail: <a href=\"mailto:$email\">$email</a>\n<br>Firma: $firma<br>Telefon: $telefon<hr>Anfrage: $anfrage<hr>Rückruf heute: <br>Rückruf morgen: ");
        
$subject="Webseiten-Nachricht vom ".date("d.m.Y");
        if (@
mail($empfaenger$subject$message$mailheader)) {
            
//Alles ok, Seite neuladen (Reloadsperre)
            
header("Location:bestaetigungsseite.html");
            
//falls kein Header gesendet werden kann, dann mit javascript
            //echo '<script type="text/javascript">document.location.href="'.$pagename.'?success"</script>';
            
exit;
        } else {
            
$error='<h3>Fehler beim Mailen aufgetreten</h3>';
        }

    } else {
        
// Fehler ausgeben
        
$error='<h3>Fehler bei der Eingabe</h3><p class="error">'.$error.'</p>';
    }
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <title></title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <link href="screen.css" rel="stylesheet" type="text/css" media="screen" />
</head>
    <body>
    
<!-- Anfang Content -->
<div id="content">
    <div class="box-left">
    <?php
if($error!="") echo $error;
if(isset(
$_GET['success'])) {
    
//Erfolgsnachricht ausgeben
    
echo '<p>Vielen Dank für Ihre Nachricht. Sie wurde erfolgreich verschickt.</p>';
} else {
?>
    </div>
    <div class="box-right">
    <!-- Anfang Formular -->
<form action="<?php echo $pagename;?>" method="post" name="mailer">
    <fieldset class="formular">
    <h2>Kontaktformular</h2>
    <p>für eMail-Anfragen bitte ausfüllen:</p>
        <label for="name">Firma:</label><input type="text" value="<?php echo $firma;?>" name="firma" id="firma" <?php if(isset($err[0])) echo  'class="fehler"';?> /><br />
        <label for="anrede">Anrede:</label>
            <select id="anrede" name="anrede">
                   <option value="<1>">Frau</option>
                   <option value="<2>">Herr</option>
            </select><br />
        <label for="name">Name:</label><input type="text" value="<?php echo $name;?>" name="name" id="name" <?php if(isset($err[1])) echo  'class="fehler"';?> /><br />
        <label for="email">eMail:</label><input type="text" value="<?php echo $email;?>" name="email" id="email" <?php if(isset($err[2])) echo  'class="fehler"';?> /><br />
        <label for="telefon">Telefon:</label><input type="text" value="<?php echo $telefon;?>" name="telefon" id="telefon" <?php if(isset($err[3])) echo  'class="fehler"';?> /><br />
        <label for="anfrage">Text / Anfrage:</label><textarea cols="" rows="" name="anfrage" id="anfrage" <?php if(isset($err[4])) echo  'class="fehler"';?>><?php echo $anfrage;?></textarea><br />
    </fieldset>
    <fieldset class="call-back">
    <h2>Call-Back</h2>
    <p>Bitte wählen Sie Ihren Rückruf-Wunschtermin, wir rufen Sie gerne zeitnah zurück:<br />
    <span>(bitte füllen Sie hierzu das Kontaktformular links aus)</span></p>
        <label for="heute zwischen">heute zwischen:</label>
            <select id="heute" name="heute">
                   <option value="keine_eingabe">Uhrzeit</option>
                   <option value="1">10 - 12 h</option>
                   <option value="2">14 - 17 h</option>
                   <option value="3">18 - 20 h</option>
            </select><br />
        <label for="morgen zwischen">morgen zwischen:</label>
            <select id="morgen" name="morgen">
                   <option value="keine_eingabe">Uhrzeit</option>
                   <option value="1">10 - 12 h</option>
                   <option value="2">14 - 17 h</option>
                   <option value="3">18 - 20 h</option>
            </select><br />
        <input type="submit" id="submit" value="abschicken >>" name="domail" />
    </fieldset>
    <br />
</form>
<?php
}
function 
DebugAttack($s) {
    
$fp=fopen("/tmp/attack.txt","ab");
    
fwrite($fp,$s);
    
fclose($fp);
}
?>
<!-- Ende Formular -->
    </div>
    
</div>

    </body>

</html>
Ich habe natürlich alles überflüssige entfernt.
Es handelt sich um die select-Felder mit der ID:
  • anrede
  • heute
  • morgen
Wer weiß wie ich diese Angaben zugeschickt bekomme?

Gruß Michael
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 13.12.2008, 10:20
CMS-Entwickler
XHTMLforum-Mitglied
 
Registriert seit: 26.08.2006
Beiträge: 493
javaFreak befindet sich auf einem aufstrebenden Ast
Standard

Mails verschicken kannst du mit der mail()-Funktion.
PHP: mail - Manual
__________________
Liebe Grüße,
Lukas aus Bocholt
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 13.12.2008, 13:15
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 28.05.2007
Beiträge: 27
scroll befindet sich auf einem aufstrebenden Ast
Standard

Die Seite läßt sich nicht aufrufen.
Ist das ein Tutorial?

Gruß Michael
Mit Zitat antworten
  #4 (permalink)  
Alt 13.12.2008, 13:44
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Müsste die selbe sein wie diese hier: PHP: mail - Manual
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
  #5 (permalink)  
Alt 13.12.2008, 13:54
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 28.05.2007
Beiträge: 27
scroll befindet sich auf einem aufstrebenden Ast
Standard

Hmm, hilft mir nicht weiter.
Das Kontaktformular funktioniert ja. Ich habe jetzt nur noch zusätzliche select-Felder eingefügt, die mit gesendet werden soll.
Daran hapert es...
Mit Zitat antworten
  #6 (permalink)  
Alt 13.12.2008, 16:40
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Also alle vom Formular übergebenen Inhalte sind im globalen Array $_POST verfügbar. D.h. wenn du ein Input mit dem Namen "anrede" hast, steht dessen Inhalt (value) in $_POST['anrede'].

Na ja und dann machst du mit diesen Variablen im prinzip das gleiche, wie mit den anderen. Kann eigentlich nicht so viel schief gehen...
Mit Zitat antworten
  #7 (permalink)  
Alt 13.12.2008, 16:53
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 28.05.2007
Beiträge: 27
scroll befindet sich auf einem aufstrebenden Ast
Standard

Gelöst:
PHP-Code:
if(isset($_POST['domail'])) {
    
$firma=get_magic_quotes_gpc() ? stripslashes($_POST['firma']) : $_POST['firma'];
    
$anrede=get_magic_quotes_gpc() ? stripslashes($_POST['anrede'][0]) : $_POST['anrede'][0];
    
$name=get_magic_quotes_gpc() ? stripslashes($_POST['name']) : $_POST['name'];
    
$email=get_magic_quotes_gpc() ? stripslashes($_POST['email']) : $_POST['email'];
    
$telefon=get_magic_quotes_gpc() ? stripslashes($_POST['telefon']) : $_POST['telefon'];
    
$anfrage=get_magic_quotes_gpc() ? stripslashes($_POST['anfrage']) : $_POST['anfrage'];
    
$heute=get_magic_quotes_gpc() ? stripslashes($_POST['heute'][0]) : $_POST['heute'][0];
    
$morgen=get_magic_quotes_gpc() ? stripslashes($_POST['morgen'][0]) : $_POST['morgen'][0]; 
PHP-Code:
 $message=nl2br("Anrede: $anrede<br>Name: $name\nEmail: <a href=\"mailto:$email\">$email</a>\n<br>Firma: $firma<br>Telefon: $telefon<hr>Anfrage: $anfrage<hr>Rückruf heute: $heute<br>Rückruf morgen: $morgen"); 
PHP-Code:
<!-- Anfang Formular -->
<form action="<?php echo $pagename;?>" method="post" name="mailer">
    <fieldset class="formular">
    <h2>Kontaktformular</h2>
    <p>für eMail-Anfragen bitte ausfüllen:</p>
        <label for="name">Firma:</label><input type="text" value="<?php echo $firma;?>" name="firma" id="firma" <?php if(isset($err[0])) echo  'class="fehler"';?> /><br />
        <label for="anrede">Anrede:</label>
            <select name="anrede[]">
                   <option>Frau</option>
                   <option>Herr</option>
            </select><br />
        <label for="name">Name:</label><input type="text" value="<?php echo $name;?>" name="name" id="name" <?php if(isset($err[1])) echo  'class="fehler"';?> /><br />
        <label for="email">eMail:</label><input type="text" value="<?php echo $email;?>" name="email" id="email" <?php if(isset($err[2])) echo  'class="fehler"';?> /><br />
        <label for="telefon">Telefon:</label><input type="text" value="<?php echo $telefon;?>" name="telefon" id="telefon" <?php if(isset($err[3])) echo  'class="fehler"';?> /><br />
        <label for="anfrage">Text / Anfrage:</label><textarea cols="" rows="" name="anfrage" id="anfrage" <?php if(isset($err[4])) echo  'class="fehler"';?>><?php echo $anfrage;?></textarea><br />
    </fieldset>
    <fieldset class="call-back">
    <h2>Call-Back</h2>
    <p>Bitte wählen Sie Ihren Rückruf-Wunschtermin, wir rufen Sie gerne zeitnah zurück:<br />
    <span>(bitte füllen Sie hierzu das Kontaktformular links aus)</span></p>
        <label for="heute">heute zwischen:</label>
            <select name="heute[]">
                   <option>Uhrzeit</option>
                   <option>10 - 12 h</option>
                   <option>14 - 17 h</option>
                   <option>18 - 20 h</option>
            </select><br />
        <label for="morgen">morgen zwischen:</label>
            <select name="morgen[]">
                   <option>Uhrzeit</option>
                   <option>10 - 12 h</option>
                   <option>14 - 17 h</option>
                   <option>18 - 20 h</option>
            </select><br />
        <input type="submit" id="submit" value="abschicken >>" name="domail" />
    </fieldset>
    <br />
</form>
Jetzt funktioniert es!
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe bei Kontaktformular paule01 Serveradministration und serverseitige Scripte 1 14.12.2008 21:58
Kontaktformular Hilfe nötig :) sunny55 CSS 2 05.08.2008 19:29
brauche Hilfe kontaktformular mol38 (X)HTML 5 23.03.2007 15:40
Hilfe bei Kontaktformular Susanne Serveradministration und serverseitige Scripte 11 30.09.2006 14:11
Kleiner Fehler bei Opera und IE -> Bitte Hilfe! ONeill CSS 10 11.08.2006 13:40


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:46 Uhr.