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
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:16 Uhr.