php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 07-03-2005, 09:54
schmidtsmikey
 Registrierter Benutzer
Links : Onlinestatus : schmidtsmikey ist offline
Registriert seit: Nov 2004
Beiträge: 25
schmidtsmikey ist zur Zeit noch ein unbeschriebenes Blatt
Standard Checkboxen in sendmail-funktion

Hallo Community,

ich habe auf meiner Seite eine Sendmail-Funktion erstellt. Der Leser ruft ein Kontaktformular aus, füllt die entsprechenden Textfelder aus und klickt anschließend auf Abschicken. Die Daten werden dann an die sendmail.php geschickt und ausgewertet. Zur Verdeutlichung ausschnitte aus dem Kontaktformular und der sendmail.php:

PHP-Code:
Kontaktformular

<form action="sendmail.php" method="POST">
<
table width="100%">
<
tr>
<
td width="25"></td>
<
td width="95"><strong>Firma/Name:*</strong></td>
<
td width="498">
<
input name="NAME" size="50" type="text">
</
td>
</
tr>
... 
PHP-Code:
sendmail.php

<?php
// Kontaktformular
    
if(isset($_POST['NAME'], $_POST['STRASSE_1'], $_POST['POSTFACH'], $_POST['ORT'], $_POST['EMAIL']))

         {

  
$to "123@abc.de";
  
$subject 'Kontaktformular-Anfrage von '.$_POST['NAME'];
  
$message '

<table align="center" width="500">
<form method="POST">
<tr>
<td>Name</td>
<td><input type="text" size="50"  name="NAME" value="'
.$_POST['NAME'].'"></td>
</tr>
...
$headers = "Content-type: text/html; charset=iso-8859-15\r\n";
$headers .= '
From'.$_POST['EMAIL'].';
mail($to$subject$message$headers);
Die übergebenen Daten werden also ausgewertet und anschließend an die entsprechende E-Mail-Adresse weitergeleitet. Das klappt wunderbar, doch jetzt habe ich ein Problem:

Ich möchte nämlich Checkboxen einführen, so nach dem Motte: "Ich interessiere mich für folgende Sachen". Jetzt habe ich mich schon im Netz totgesucht und zuindest herausgefunden, dass man die einzelnen Checkboxen mit name="form[]" benennen und mit einer foreach-Schleife auslesen lassen kann.

Anschließend kann man dann die markierten Checkboxen im Browser anzeigen lassen. Doch das ist nichts für mich, ich möchte ja überprüfen, ob eine Box markiert ist und dann in der zu generierenden E-Mail diese auch anzeigen lassen.

PHP-Code:
Checkboxen

<input name="form[]" type="checkbox">...habe Interesse in CPU
<input name="form[]" type="checkbox">...habe Interesse in VGA
<input name="form[]" type="checkbox">...habe Interesse in ...
<
input name="form[]" type="checkbox">...habe Interesse in ... 
Wie kann ich nun auswerten, dass bsp. zwei bestimmte Boxen markiert sind und diese dann in der zu generierenden E-Mail anzeigen? Ich stelle mir irgendwie vor, dass ich das auswerte und dann irgendwie eine Überprüfung einpflege:

PHP-Code:
Vorschlag in sendmail.php

<input name="form[]" type="checkbox">if (checkbox markiert) {setze html-tag für checkbox markiert}...habe Interesse in ... 
Wer weiß Rat, wie man das umsetzen kann...
Mit Zitat antworten
  #2 (permalink)  
Alt 07-03-2005, 10:15
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

gibt den Checkboxen auch values, dann weißt du auch, was gecheckt ist

Außerdem sollst du nicht nur auf isset prüfen, sondern auch auf !empty, da Felder eventuell leer sein können.
Mit Zitat antworten
  #3 (permalink)  
Alt 07-03-2005, 10:51
schmidtsmikey
 Registrierter Benutzer
Links : Onlinestatus : schmidtsmikey ist offline
Registriert seit: Nov 2004
Beiträge: 25
schmidtsmikey ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, vielen Dank erst einmal für die zügige und prompte Antwort
Können wir vlt einmal anhand eines Beispiels zeigen, wie ich vorzugehen habe? So sehen die Checkboxen nun im Kontaktformular aus:

PHP-Code:
Kontaktformular

<input name="form[]" type="checkbox" value="computer">...infos über computer
<input name="form[]" type="checkbox" value="vga">...infos über grafikkarten
<input name="form[]" type="checkbox" value="hdd">...infos über Festplatten
... 
Wie kann ich nun in der sendmail.php auswerten, welche Checkboxen aktiv sind und welche nicht. Ich möchte also, dass mir die sendmail.php eine E-Mail generiert, die in irgendeiner Form beinhaltet, welche markiert wurden.

Meinen Denkansatz habe ich ja bereits oben gepostet. Nur weiß ich nicht wie man das umsetzen kann (wie kann man auf eine bestimmte Checkbox zugreifen?) oder ob diese Vorgehensweise überhaupt sinnvoll ist.
Mit Zitat antworten
  #4 (permalink)  
Alt 07-03-2005, 10:55
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

PHP-Code:
echo '<pre>';
print_r($_POST);
echo 
'</pre>'
Wäre eventuell besser, wenn du in die eckigen Klammern bei den Namen der Boxen den Wert schreibst
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #5 (permalink)  
Alt 07-03-2005, 11:55
schmidtsmikey
 Registrierter Benutzer
Links : Onlinestatus : schmidtsmikey ist offline
Registriert seit: Nov 2004
Beiträge: 25
schmidtsmikey ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von mrhappiness
[B]
PHP-Code:
echo '<pre>';
print_r($_POST);
echo 
'</pre>'
Hmm, print gibt mir doch etwas auf dem Bildschirm aus. Wenn der Leser auf abschicken klickt, soll dieser doch nicht angezeigt bekommen, für welche Themen er sich interessiert. Was ich gerne möchte ist, dass gecheckt wird, was der Leser angeklickt hat. Dann soll die sendmail.php darauf reagieren. Ungefähr so:

PHP-Code:
sendmail.php

    
if(isset($_POST['NAME'], $_POST['STRASSE_1'], $_POST['POSTFACH'], $_POST['ORT'], $_POST['EMAIL']))

         {

  
$to "abc@123.de";
  
$subject 'Kontaktformular-Anfrage von '.$_POST['NAME'];
  
$message '


<table align="center" width="500">
<form method="POST">
<tr>
<td>Name</td>
<td><input type="text" size="50"  name="NAME" value="'
.$_POST['computer'].'" .if (checkbox aktiviert){echo 'checked';}></td>
</tr>
...
...
...
$headers = "Content-type: text/html; charset=iso-8859-15\r\n";
$headers .= '
From'.$_POST['EMAIL'].';
mail($to$subject$message$headers); 
Aber wie kann ich die IF-Bedingung so erstellen, dass kontrolliert wird, ob die Checkbox aktiviert ist oder nicht?Wenn ja wird in dem HTML-Tag die option checked eingefügt und in der E-Mail dürfte dann ein häkchen erscheinen.

Zitat:
Wäre eventuell besser, wenn du in die eckigen Klammern bei den Namen der Boxen den Wert schreibst
Soll ich in die eckigen klammern denselben Inhalt wie bei Value schreiben? Weiß nicht, was das jetzt bezwecken soll?
Mit Zitat antworten
  #6 (permalink)  
Alt 07-03-2005, 11:58
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

print_r dient ja auch nur dazu DIR zu zeigen, was übertragen wurde ... mach was draus. übrigens, NICHT gecheckte checkboxen werden auch nicht übertragen
__________________
Kissolino.com
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an


PHP News

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

Formmailer Bootstrap 4

Mit dem Formmailer kann man sich eMails über seine Seite zukommen lassen.

08.07.2021 arne-home | Kategorie: PHP/ Formular
Fehlerseite Bootstrap 4

Bei Aufruf einer nicht existierenden Seite, teilen Sie Besuchern mit einer eigenen Fehlerseite mit, dass die gewünschte Seite nicht gefunden wurde. Die eigene Fehlerseite sollte dasselbe Design wie die Website haben. Zudem sollte ein Link zur Startseite a

04.07.2021 arne-home | Kategorie: PHP/ Counter
Upload Bootstrap 4

Mit dem PHP - Uploadscript kann man schnell und einfach Bilder und Dateien auf den Webserver hochladen.

04.07.2021 arne-home | Kategorie: PHP/ File
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:50 Uhr.