CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
31.08.2007, 07:28:13
|
Anfänger
|
|
Registriert seit: Aug 2007
Beiträge: 5
|
|
Checkbox Formular übergabe + Fehlermeldung wenn empty
Morgen zusammen,
habe nen kleines Problem mit einem Formular.
Habe per Suchfunktion bereits gefunden, dass es am besten ist checkboxen per array auszugeben. Jedoch müsste ich den value Wert mit übergeben, wenn z.B. ein input Feld leer bleibt und eine Fehlermeldung kommt.
Hier mal ein Teil des Codes/Formulars:
PHP-Code:
if($_POST["action"] == "send") {
$name = $_POST['name'];
$from = $_POST['from'];
if(!$name) $fehler[] = "Bitte geben Sie ihren Namen an";
if(!$from) $fehler[] = "Bitte geben Sie ihre E-Mail Adresse ein";
if(!count($fehler)) {
$header="From:$from\n";
$header .= "Reply-To: $from\n";
$header.="Content-Type: text/html";
mail('mail@host.de', 'Anfrage', 'Absender:</b> '.$name.' ('.$from.')<br />Der Interessent möchte über folgendes Informiert werden:</b><br />'.$anfrage.'<br /><br />'.$header);
redirect('index.php?site=anfrage','Ihre Anfrage wurde erfolgreich versand.',5);
unset($name);
unset($from);
} else {
echo '<table width="100%" border="0" cellspacing="1" cellpadding="2">
<tr>
<td><div class="errorbox"><ul><b>· '.implode('<br />· ',$fehler).'</b></ul></div><br /></td>
</tr>
</table>
<form action="index.php?site=anfrage" method="post">
<input type="hidden" name="action" value="send" />
<table border="0" cellpadding="2" cellspacing="0" width="100%" class="tablo" align="center">
<tr>
<td width="30%" align="center" class="big">A</td>
<td width="20%" align="left"><input type="checkbox" name="anfrage[]" value="A" class="input" /></td>
<td width="30%" align="center" class="big">B</td>
<td width="20%" align="left"><input type="checkbox" name="anfrage[]" value="B" class="input" /></td>
</tr>
</table>
<br />
<table width="75%" border="0" cellspacing="0" cellpadding="2" align="center">
<tr>
<td>Ihr Name:<span class="big">*</span></td>
</tr>
<tr>
<td><input name="name" size="40" value="'.$name.'" /></td>
</tr>
<tr>
<td>Ihre E-Mail Adresse:<span class="big">*</span></td>
</tr>
<tr>
<td><input name="from" size="40" value="'.$from.'" /></td>
</tr>
<tr><td> </td></tr>
<tr>
<td><center><input type="submit" value="anfragen" />
<input type="reset" value="zurücksetzen" /></center></td>
</tr>
</table>
</form>';
}
}
else {
echo '<form action="index.php?site=anfrage" method="post">
<input type="hidden" name="action" value="send" />
<table border="0" cellpadding="2" cellspacing="0" width="100%" class="tablo" align="center">
<tr>
<td width="30%" align="center" class="big">A</td>
<td width="20%" align="left"><input type="checkbox" name="anfrage[]" value="A" class="input" /></td>
<td width="30%" align="center" class="big">B</td>
<td width="20%" align="left"><input type="checkbox" name="anfrage[]" value="B" class="input" /></td>
</tr>
</table>
<br />
<table width="75%" border="0" cellspacing="0" cellpadding="2" align="center">
<tr>
<td>Ihr Name:<span class="big">*</span></td>
</tr>
<tr>
<td><input name="name" size="40" value="'.$name.'" /></td>
</tr>
<tr>
<td>Ihre E-Mail Adresse:<span class="big">*</span></td>
</tr>
<tr>
<td><input name="from" size="40" value="'.$from.'" /></td>
</tr>
<tr><td> </td></tr>
<tr>
<td><center><input type="submit" value="anfragen" />
<input type="reset" value="zurücksetzen" /></center></td>
</tr>
</table>
</form>';
Die Frage wäre jetzt, wie überprüfe ich, ob eine Checkbox ausgewählt wurde und wie übergebe ich sie wenn ein input Feld leer bleibt (z.B. name). Wenn keine Checkbox angewählt wurde, sollte ebenfalls eine Fehlermeldung kommen, die dem Benutzer z.B. sagt 'Bitte wählen Sie mindestens ein Feld aus' und wie übergebe ich die Wert an die variable $anfrage in die E-Mail?
Hoffe mein Problem wird einigermaßen verstanden.
Danke schonmal für Eure Hilfe
Gruß
cYriss
|
31.08.2007, 07:41:48
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Checkbox Formular übergabe + Fehlermeldung wenn empty
|
31.08.2007, 08:26:58
|
Anfänger
|
|
Registriert seit: Aug 2007
Beiträge: 5
|
|
AW: Checkbox Formular übergabe + Fehlermeldung wenn empty
Kenne ich, hiflt mir jedoch nicht so ganz weiter. Es wird so immer nur ein Wert übertragen (der letzte) und auch keine Fehlermeldung wenn nichts ausgewählt bzw. wenn ein anderes input Feld leer bleibt, wird "ON" nicht mit übergeben.
Komme nicht wirklich damit klar.
Das war ja mein Problem :/
|
31.08.2007, 09:00:54
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Checkbox Formular übergabe + Fehlermeldung wenn empty
Zitat:
Zitat von cYriss
Kenne ich, hiflt mir jedoch nicht so ganz weiter.
|
Es sollte aber, denn in Deinem Script findet überhaupt keine Auswertung der Checkboxen statt. Um Dein Checkboxenarray $_POST['anfrage'] kümmert sich keine Scriptzeile.
|
31.08.2007, 10:34:55
|
Anfänger
|
|
Registriert seit: Aug 2007
Beiträge: 5
|
|
AW: Checkbox Formular übergabe + Fehlermeldung wenn empty
Das ist ja mein Problem, ich weiß nicht wie.
Wenn ich jetzt
PHP-Code:
if (isset($_REQUEST['anfrage'])) { reset($_REQUEST['anfrage']); foreach ($_REQUEST['anfrage'] as $ausgabe) { echo "$ausgabe"; } } else { echo "Keine Auswahl getroffen"; }
Wird mir die Auswahl zwar nach dem Senden durch print angezeigt, aber in der e-mail nicht, oder nur eine Auswahl. Es hängt an der Umsetzung, genau wie die Fehlermeldung oder auch die übergabe von "checked".
Hatte es zuvor so gemacht, dass jede checkbox ne variable bekommen hat, die dann in die e-mail übergeben wurde. Problem ist, dass dies sehr unübersichtlich war. Z.B.
A = ON
B = OFF
C = ON
das wollte ich vereinfachen, dass einfach nur noch die Ausgewählten boxen ausgegeben werden, durch eine Kommatrennung.
Geändert von cYriss (31.08.2007 um 10:42:40 Uhr)
|
31.08.2007, 15:51:39
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Checkbox Formular übergabe + Fehlermeldung wenn empty
Zitat:
Zitat von cYriss
Das ist ja mein Problem, ich weiß nicht wie.
|
Dann lies Dir doch endlich mal den FAQ Beitrag durch. Entscheide Dich, ob Du im Formular "Fall 1" oder "Fall 2" verwendest.
# Fall 1: Verschiedene Namen, gleicher Wert
<input type="checkbox" name="cbutton[A]" value="yes" />
<input type="checkbox" name="cbutton[B]" value="yes" />
PHP-Code:
if (isset($_REQUEST['anfrage']) AND is_array($_REQUEST['anfrage']) AND count($_REQUEST['anfrage'])>0) { $checkbox = implode(',', array_keys($_REQUEST['anfrage']) ); } else { echo 'mindestens 1 Checkbox ankreuzen'; }
Geändert von meikel (†) (31.08.2007 um 15:52:10 Uhr)
|
01.09.2007, 08:38:03
|
Anfänger
|
|
Registriert seit: Aug 2007
Beiträge: 5
|
|
AW: Checkbox Formular übergabe + Fehlermeldung wenn empty
Habe ich doch gelesen :>
oben sieht man ja auch, dass ich gleiche Namen und verschiedene Werte nutze
<input type="checkbox" name="anfrage[]" value="A" />
<input type="checkbox" name="anfrage[]" value="B" />
<input type="checkbox" name="anfrage[]" value="C" />
|
03.09.2007, 19:39:51
|
Anfänger
|
|
Registriert seit: Aug 2007
Beiträge: 5
|
|
AW: Checkbox Formular übergabe + Fehlermeldung wenn empty
Ich muss mich nochmal melden, ich komme net weiter.
Bräuchte echt mal Hilfe bei dem Formular, würde es gerne nutzen.
Wenn mir keiner so richtig helfen kann, vielleicht kennt ja jemand ein vergleichbares Formular, was man umschreiben könnte.
Danke
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:10:51 Uhr.
|