mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 07:29 Benutzername: Passwort: Auto-Login

Thema: PHP Formular: Select Boxen abfragen? vom 16.05.2012


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP Formular: Select Boxen abfragen?
Seite: 1, 2  Weiter
Autor Nachricht
LenaP
Threadersteller

Dabei seit: 16.05.2012
Ort: -
Alter: -
Geschlecht: Weiblich
Verfasst Mi 16.05.2012 11:37
Titel

PHP Formular: Select Boxen abfragen?

Antworten mit Zitat Zum Seitenanfang

Hallo
ich bin hier bisher nur stille mitleserin, aber nun muss ich auch mal eine Frage stellen...

Ich bastel gerade eine Internetseite mit einem PHP-Kontaktformular.
Ich kann eigentlich kein PHP, habe das Formular aber funktionsfähig hinbekommen.

Nun solle aber noch ein Pflichtfeld mit der Abfrage "Herr oder Frau" rein.
Dies wollte ich mit einer select box umsetzen.
Welche ein Pflichtfeld sein soll.

Kann mir jemand sagen, wie ich die select box nun funktionsfähig mache und in mein vorhandenes PHP-Sript einbaue?

In dem HTML Teil taucht sie schon auf, aber dann wusste ich nicht weiter...

Ich wäre für Hilfe sehr sehr dankbar!!!!

Wie gesagt, ich habe keine Ahnung von PHP.... ;o(

Schöne Grüße
Lena

Hier kommt mein Script:

Code:

<!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" >
<head>
   <meta name="" />
    <meta name="description" content="" />
    <title>Test</title>
    <link rel="stylesheet" href="../css/style.css" type="text/css" />
   
</head>
<body style="background-color:#ffffff; margin-top:0px; margin-bottom:0px; margin-left:0px;">



        <?php

$von = $_POST['von'];
$firma = $_POST['firma'];
$adresse = $_POST['adresse'];
$tel = $_POST['tel']; 
$email = $_POST['email'];
$branche = $_POST['branche'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
$fertig = $_POST['fertig'];

function checkEmail( $email )
{
    $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$/", $email ))
    {
        return FALSE;
    }
    else
    {
        return TRUE;
    }



if(isset($fertig)){

  if ($von == "") {
   echo"<script type=\"text/javascript\"> alert(\"Sie haben ihren Namen nicht angegeben!\");</script>";
   } elseif ($email == "") {
    echo"<script type=\"text/javascript\"> alert(\"Sie haben ihre Email nicht angegeben!\");</script>";
   } elseif ($branche == "") {
    echo"<script type=\"text/javascript\"> alert(\"Sie haben keine Branche angegeben!\");</script>";
   } elseif ($betreff == "") {
    echo"<script type=\"text/javascript\"> alert(\"Sie haben keinen Betreff angegeben!\");</script>";
   } elseif ($nachricht == "") {
    echo"<script type=\"text/javascript\"> alert(\"Sie haben keine Nachricht angegeben!\");</script>";   
   } elseif (!checkEmail( $_REQUEST['email'] )) {
    echo"<script type=\"text/javascript\"> alert(\"Die Email Adresse ist nicht gültig!\");</script>";
   } else {
   
   


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

     
  $ich = "test@test.de";
  $betreffemail = "Kontaktformular";
  $text ="Sie haben eine Nachricht von: ".$von.
  "\n Absender Firmenname: ".$firma.
  "\n Absender Adresse: ".$adresse.
  "\n Absender Telefonnummer: ".$tel.
  "\n Absender Email-Adresse: ".$email.
   "\n Branche: ".$branche.
  "\n Der Betreff lautet: ".$betreff.
  "\n Das Sendedatum: ".$datum.
  "\n\n  Die Nachrich lautet:\n\n".$nachricht."
   
   
   
  ";
  mail($ich, $betreffemail, $text, 
  "From: Absender <Absenderemail>");
  echo"<span class=\"textcontent\"><strong>Die Nachricht wurde erfolgreich verschickt!</strong></span>";
   
echo"<script type=\"text/javascript\"> alert(\"Die Nachricht wurde erfolgreich verschickt!\");</script>";       
 


}
}



       
?> 
<form action="" method="post">
       
       <table cellpadding="0" cellspacing="0" border="0">
       <tr>
         <td class="textcontent" valign="middle">Geschlecht<span style="color:red;">*</span></td>
         <td class="textcontent" style="padding-left:10px; padding-top:5px;">
      
         


<select class="textcontent" name="geschlecht">
   <option class="textcontent" value="">Bitte w&auml;hlen...</option>
   <option class="textcontent" value="H">Herr</option>
   <option class="textcontent" value="F">Frau</option>
</select>

      
       </td>
       </tr>
      <tr>
         <td class="textcontent" valign="middle">Ihr Name:<span style="color:red;">*</span></td>
         <td class="textcontent" style="padding-left:10px; padding-top:5px;"><input size="40" class="textcontent" type="text" name="von" /></td>
       </tr>
      <tr>
         <td class="textcontent" valign="middle">Ihr Firmenname:</td>
         <td class="textcontent" style="padding-left:10px; padding-top:5px;"><input size="40" class="textcontent" type="text" name="firma" /></td>
       </tr>
      <tr>
         <td class="textcontent" valign="middle">Ihre Adresse:</td>
         <td class="textcontent" style="padding-left:10px; padding-top:5px;"><input size="40" class="textcontent" type="text" name="adresse" /></td>
       </tr>
      <tr>
         <td class="textcontent" valign="middle">Ihre Telefonnummer:</td>
         <td class="textcontent" style="padding-left:10px; padding-top:5px;"><input size="40" class="textcontent" type="text" name="tel" /></td>
       </tr>
       <tr>
         <td class="textcontent" valign="middle">Ihre Email-Adresse:<span style="color:red;">*</span></td>
         <td class="textcontent" style="padding-left:10px; padding-top:5px;"><input size="40" class="textcontent" type="text" name="email" /></td>
       </tr>
      <tr>
         <td class="textcontent" valign="middle">Ihre Branche:<span style="color:red;">*</span></td>
         <td class="textcontent" style="padding-left:10px; padding-top:5px;"><input size="40" class="textcontent" type="text" name="branche" /></td>
       </tr>
       <tr>
         <td class="textcontent" valign="middle">Betreff:<span style="color:red;">*</span></td>
         <td class="textcontent" style="padding-left:10px; padding-top:5px;"><input size="40" class="textcontent" type="text" name="betreff" /></td>
       </tr>
       <tr>
         <td class="textcontent" valign="top">Ihre Nachricht:<span style="color:red;">*</span></td>
         <td class="textcontent" style="padding-left:10px;padding-right:8px; padding-top:5px;"><textarea class="textcontent" name="nachricht" cols="45" rows="10"></textarea></td>
       </tr>
       <tr>
         <td class="textcontent" align="right" colspan="2" style="padding-top:15px;">
 <button style="border:0px solid #ffffff; background-color:#ffffff;" name="fertig" type="submit">
       <img src="../img/abschicken_button.gif" onmouseover="but.src='../img/abschicken_button_on.gif'" value="Absenden" onmouseout="but.src='../img/abschicken_button.gif'" width="86" height="20" name="but" alt=""><br>
</button>
</td>
       </tr>
      <tr>
         <td class="textcontent" align="left" colspan="2" style="padding-left:10px; padding-top:15px;"><span style="color:red;">*</span> Diese Felder müssen ausgef&uuml;llt werd.</td>
       </tr>
       </table>
       
        </form>
</body>
</html>
  View user's profile Private Nachricht senden
Renao

Dabei seit: 11.05.2012
Ort: Herten
Alter: 39
Geschlecht: Männlich
Verfasst Mi 16.05.2012 11:53
Titel

Antworten mit Zitat Zum Seitenanfang

Du kannst die Daten der Select-Box genauso abgreifen, wie bei den anderen Formular-Elementen via

$var = $_POST['anrede'];

Dann sollte der value-Wert in die Variable gespeichert werden (Also in deinem Falle F oder H).


Ansprechender fände ich allerdings die Gestaltung mit Radio-Buttons (http://de.selfhtml.org/html/formulare/auswahl.htm#radiobuttons), aber gibt sicherlich seine Gründe, warum du eine Selection-Box ausgewählt hast.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Alex

Dabei seit: 29.11.2005
Ort: Dortmund
Alter: 37
Geschlecht: Männlich
Verfasst Mi 16.05.2012 11:54
Titel

Antworten mit Zitat Zum Seitenanfang

Sorry, dass du jetzt den Frust abbekommst, aber das ist nu wirklich eine Sache die man sich auch schnell ergooglen kann!

Gut, du willst hilfe? Dann such mal nach "php selectbox auslesen", mehr Hilfe ist beim besten Willen von meiner Seite aus nicht drin.


Nur mal so interessehalber:

Willst du PHP usw lernen und baust deshalb die Webseite oder wie kommst du dazu?
Gelernt zu haben scheinst du es ja nicht, daher die Frage.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
immerIch

Dabei seit: 19.10.2010
Ort: #mein{display:block}
Alter: 35
Geschlecht: Männlich
Verfasst Mi 16.05.2012 12:02
Titel

Antworten mit Zitat Zum Seitenanfang

Bitte Request-Parameter (POST/GET) nicht ungeprüft in dein Script laufen lassen.
-> http://php.net/manual/de/function.isset.php

Zwar fragst du mit Javascript vorher bereits ab, ob ein Feld leer ist. Was passiert aber bei deaktiviertem JS, und vor allem was passiert mit den nicht-Pflicht-Feldern.
  View user's profile Private Nachricht senden
qualidat

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Mi 16.05.2012 12:50
Titel

Antworten mit Zitat Zum Seitenanfang

Verständnis-Frage: Wieso ist eigentlich die auswertende Seite (PHP-Code) die gleiche, wie die, auf der sich das Formular (form-element) befindet? Ist keine Kritik, will's nur wissen ...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
LenaP
Threadersteller

Dabei seit: 16.05.2012
Ort: -
Alter: -
Geschlecht: Weiblich
Verfasst Mi 16.05.2012 17:38
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo Renao,
vielen Dank!!! Das war mir nicht klar... Das hat mir sehr geholfen! Und es funktioniert! ;o)
Klasse! Danke!

Alex:
Ich habe mir das alles schon zusammengegoogelt und bin stolz es soweit zusammen gebaut zu haben, dass es funktioniert... Aber an dieser Stelle bin ich einfach gescheitert. Ich habe sehr wohl nach "php selectbox auslesen" gesucht, wusste aber nicht, wie ich es mit meinem vorhandenem Formular kombinieren kann... Ich brauchte genau diesen entscheidenden Tipp von Renao um weiter zu kommen. Vielen Dank! ;o)
Ich will mein Wissen erweitern und das eine oder andere lernen. Erst einmal reicht es mir aber, das Formular soweit hinbekommen zu haben.

immerIch :
Danke, werde das checken...

qualidat:
Wie gesagt, ich habe es mir so zurecht gegoogelt und bin froh, dass es funktioniert ;o)

LG
Lena
  View user's profile Private Nachricht senden
Renao

Dabei seit: 11.05.2012
Ort: Herten
Alter: 39
Geschlecht: Männlich
Verfasst Do 17.05.2012 13:17
Titel

Antworten mit Zitat Zum Seitenanfang

qualidat hat geschrieben:
Verständnis-Frage: Wieso ist eigentlich die auswertende Seite (PHP-Code) die gleiche, wie die, auf der sich das Formular (form-element) befindet? Ist keine Kritik, will's nur wissen ...


Mache ich auch gerade bei Formularen ganz gerne. Hat im Grunde den großen Vorteil, dass man alles in einer Datei beisammen hat und man muss nicht jede Datei wieder anpacken, wenn sich mal bspw. ein Dateiname geändert hat.

Nachteile? Gibt es bestimmt auch, aber die gibt es immer.

Lena: Keine Ursache. Immerhin war die Antwort an sich kürzer als "google nach selectboxen" *ha ha*


Zuletzt bearbeitet von Renao am Do 17.05.2012 13:18, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
pantonine

Dabei seit: 03.03.2011
Ort: gehen Sie bitte weiter…
Alter: -
Geschlecht: -
Verfasst Do 17.05.2012 13:47
Titel

Antworten mit Zitat Zum Seitenanfang

@qualidat: So was nennt sich Affenformular. http://www.php.de/wiki-php/index.php/Affenformular_%28Standardverfahren%29

In komplexen Anwendungen zeigen sogar alle Links und Actions auf ein Bootstrap-Script.
  View user's profile Private Nachricht senden
 
Ähnliche Themen select-Boxen per PHP dynamisch aus ner DB füllen
AJAX/PHP-Ausgabe mit zwei Select-Boxen
Zusammenfügen 2er Abfragen bei PHP Formular...
Html-Formular absenden mit Enter-Tase und select geht nicht
select-box option aktiviert select-box
checkox abfragen ...
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.