Verkettung von Leerzeichen fuer Checkboxabfrage Fehler
Hallo ,
ich bearbeite ein Formular das via checkbox abfragt.
Das Resultat wird via Post-methode an das Resultatsformular weitergereicht.
funktioniert einwandfrei.
Hab ich aber 3 Checkboxen muss ich im Resultat ein Leerzeichen einfuegen, das beim ILS Studienheft so eingefuegt wird:
Dann bekomm ich jedoch einen Parseerror.
Notice: Undefined index: Hobby2 in C:\xampp\htdocs\php\resultat.php on line 47
Bedeutet er kommt nicht mit dem Verkettungsoperator klar.
Warum nicht ? Wo ist da der Fehler ?
Den Tutor erreich ich erst Dienstag , muss das Heft aber heut noch fertig bearbeiten.....
Was die Fehler in nem Studienheft angeht.. man man....nerv.
Danke und Gruss
Nachtrag : ich habe gerade festgestellt, das wenn ich die checkboxen im Formular markiere das Resultat richtig angezeigt wird.
Markiere ich jedoch nur eine checkbox kommt es zu den Parse error.... ich glaub ich wird hier noch bekloppt.
ich bearbeite ein Formular das via checkbox abfragt.
<input type="checkbox" name="Hobby1" value="Schwimmen"/>Schwimmen<br/>
Das Resultat wird via Post-methode an das Resultatsformular weitergereicht.
<td><?php echo $_POST['Hobby1']; ?></td>
funktioniert einwandfrei.
Hab ich aber 3 Checkboxen muss ich im Resultat ein Leerzeichen einfuegen, das beim ILS Studienheft so eingefuegt wird:
<td><?php echo $_POST['Hobby1'].' '. $_POST['Hobby2'].' '. $_POST['Hobby3']; ?></td>
Dann bekomm ich jedoch einen Parseerror.
Notice: Undefined index: Hobby2 in C:\xampp\htdocs\php\resultat.php on line 47
Bedeutet er kommt nicht mit dem Verkettungsoperator klar.
Warum nicht ? Wo ist da der Fehler ?
Den Tutor erreich ich erst Dienstag , muss das Heft aber heut noch fertig bearbeiten.....
Was die Fehler in nem Studienheft angeht.. man man....nerv.
Danke und Gruss
Nachtrag : ich habe gerade festgestellt, das wenn ich die checkboxen im Formular markiere das Resultat richtig angezeigt wird.
Markiere ich jedoch nur eine checkbox kommt es zu den Parse error.... ich glaub ich wird hier noch bekloppt.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 240416
Url: https://administrator.de/contentid/240416
Ausgedruckt am: 11.12.2024 um 21:12 Uhr
9 Kommentare
Neuester Kommentar
Hallo Alchimedes
Schau dir doch mal den kompletten Inhalt von $_POST an:
(oder einfach print_r($_POST) und schau in den Quelltext)
Wenn ein Checkbox angehakt ist wird sie übertragen, wenn nicht dann nicht.
Wie es danach weitergeht ist eine Frage der Programmlogik, die in diesem Fall fehlerhaft ist !
Lies doch mal hier: selfHTML.org - Checkboxen wie du es realisieren könntest.
~Arano
Notice: Undefined index: Hobby2 in C:\xampp\htdocs\php\resultat.php on line 47
Das bedeutet, das es in dem Array "$_POST" keine Elemente mit dem Namen "Hobby2" gibt.Schau dir doch mal den kompletten Inhalt von $_POST an:
echo '<pre>'.print_r($_POST,true).'</pre>';
Nachtrag : ich habe gerade festgestellt, das wenn ich die checkboxen im Formular markiere das Resultat richtig angezeigt wird.
Hm... falsch formuliert !Wenn ein Checkbox angehakt ist wird sie übertragen, wenn nicht dann nicht.
Wie es danach weitergeht ist eine Frage der Programmlogik, die in diesem Fall fehlerhaft ist !
Lies doch mal hier: selfHTML.org - Checkboxen wie du es realisieren könntest.
~Arano
if (isset($_POST['Hobby2']))
Möchte ich dieses mal widersprechen - wo bei es korrekt ist !Um diese Prüfung nun nicht für alle 100.000 Hobby die es geben __könnte__ machen zu müssen, werfe ich noch mal das Stichwort "Array" mit ein.
Dazu steht auch etwas auf der selfHTML-Seite die ich in meinem andrem Kommentar gepostet haben.
~Arano
yip, ging ja nur ums Prinzip bzw. den Grund für den Fehler, und hier dann noch ein rudimentäres Beispiel für den TO für die Anwendung des Arrays:
arraytest.php
arraytest.php
<?php
if (isset($_POST['Senden'])){
echo "Hobbies:";
if (isset($_POST['Hobbies'])){
foreach($_POST['Hobbies'] as $hobby){
echo ' ' . $hobby;
}
}
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>HTML Document</title>
</head>
<body>
<form action="arraytest.php" method="post">
<input name="Hobbies" type="checkbox" value="Ski">Ski<br>
<input name="Hobbies" type="checkbox" value="Snowboard">Snowboard <br>
<input name="Hobbies" type="checkbox" value="Wakeboard">Wakeboard<br>
<input name="Senden" type="submit" value="Senden">
</form>
</body>
</html>
bin ich jetzt schon der Hauself , immer noch @colinardo
Grüße Uwe
das mit den Arrays ist ne schoene Sache geht hier aber ueber das Ziel hinaus....
Trotzdem Danke.
wenn's denn unbedingt so sein muss, z.B. so:Trotzdem Danke.
$hobby1 =(isset($_POST['Hobby1'])) ? $_POST['Hobby1'] : "";
$hobby2 =(isset($_POST['Hobby2'])) ? $_POST['Hobby2'] : "";
$hobby3 =(isset($_POST['Hobby3'])) ? $_POST['Hobby3'] : "";
echo $hobby1.' '.$hobby2.' '.$hobby3;