Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Verkettung von Leerzeichen fuer Checkboxabfrage Fehler

Frage Entwicklung PHP

Mitglied: Alchimedes

Alchimedes (Level 2) - Jetzt verbinden

08.06.2014, aktualisiert 17:33 Uhr, 1776 Aufrufe, 9 Kommentare, 2 Danke

Hallo ,

ich bearbeite ein Formular das via checkbox abfragt.

01.
 <input type="checkbox" name="Hobby1" value="Schwimmen"/>Schwimmen<br/>
Das Resultat wird via Post-methode an das Resultatsformular weitergereicht.
01.
 <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:

01.
<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.
Mitglied: colinardo
08.06.2014, aktualisiert um 16:32 Uhr
Hi,
du solltest mit
01.
if (isset($_POST['Hobby2'])){ 
02.
  ... 
03.
}
die übergebenen Parameter überprüfen ob sie überhaut Inhalt haben bzw. existieren.

Grüße Uwe
Bitte warten ..
Mitglied: Arano
LÖSUNG 08.06.2014, aktualisiert um 17:33 Uhr
Hallo Alchimedes

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:
01.
echo '<pre>'.print_r($_POST,true).'</pre>';
(oder einfach print_r($_POST) und schau in den Quelltext)

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
Bitte warten ..
Mitglied: Arano
LÖSUNG 08.06.2014, aktualisiert um 17:33 Uhr
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
Bitte warten ..
Mitglied: colinardo
LÖSUNG 08.06.2014, aktualisiert um 17:33 Uhr
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
01.
<?php 
02.
if (isset($_POST['Senden'])){ 
03.
	echo "Hobbies:"; 
04.
	if (isset($_POST['Hobbies'])){ 
05.
		foreach($_POST['Hobbies'] as $hobby){ 
06.
			echo ' ' . $hobby; 
07.
08.
09.
10.
?> 
11.
<!DOCTYPE HTML> 
12.
<html> 
13.
<head> 
14.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
15.
<title>HTML Document</title> 
16.
</head> 
17.
<body> 
18.
<form action="arraytest.php" method="post"> 
19.
<input name="Hobbies[]" type="checkbox" value="Ski">Ski<br> 
20.
<input name="Hobbies[]" type="checkbox" value="Snowboard">Snowboard <br> 
21.
<input name="Hobbies[]" type="checkbox" value="Wakeboard">Wakeboard<br> 
22.
<input name="Senden" type="submit" value="Senden"> 
23.
</form> 
24.
</body> 
25.
</html>
Bitte warten ..
Mitglied: Alchimedes
08.06.2014, aktualisiert um 17:35 Uhr
Hallo , "nicht Dobby" sondern Colinardo ! , Hallo Arano,

danke fuer die Unterstuetzung.

eigentlich ist das alles sehr simple gestrickt.
Im Formular steht:

01.
<td>Hobbies:</td> 
02.
<td> 
03.
<input type="checkbox" name="Hobby1" value="Schwimmen"/>Schwimmen<br/> 
04.
<input type="checkbox" name="Hobby2" value="Rad fahren"/>Rad fahren<br/> 
05.
<input type="checkbox" name="Hobby3" value="Tanzen"/>Tanzen<br/> 
06.
</td>


Und wird wunderbar angezeigt.

Im Resultat.php steht dann:

01.
<tr> 
02.
<td>Hobbies:</td> 
03.
<td><?php echo $_POST['Hobby1'] .' '. $_POST['Hobby2'] .' '. $_POST['Hobby3']; ?></td> 
04.
</tr>
Markiere ich nur eine checkbox kommt es zum Fehler. Markiere ich alle 3 klappt es....
Bitte warten ..
Mitglied: Alchimedes
08.06.2014, aktualisiert um 17:36 Uhr
Hallo Colinardo, ( Dobby war natuerlich nicht gemeint ) ,

das mit den Arrays ist ne schoene Sache geht hier aber ueber das Ziel hinaus....
Trotzdem Danke.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 08.06.2014, aktualisiert um 17:33 Uhr
Zitat von Alchimedes:
Hallo Dobby ,
bin ich jetzt schon der Hauself , immer noch @colinardo
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:
01.
$hobby1 =(isset($_POST['Hobby1'])) ? $_POST['Hobby1'] : ""; 
02.
$hobby2 =(isset($_POST['Hobby2'])) ? $_POST['Hobby2'] : ""; 
03.
$hobby3 =(isset($_POST['Hobby3'])) ? $_POST['Hobby3'] : ""; 
04.
echo $hobby1.' '.$hobby2.' '.$hobby3;
Grüße Uwe
Bitte warten ..
Mitglied: Alchimedes
08.06.2014 um 17:27 Uhr
Hallo Colinardo ,

bin ich jetzt schon der Hauself face-smile, immer noch @colinardo

haha, mist... sorry ... und das nuechtern.

Hab mir grad den Original Quellcode von der Lerncd gezogen, und da sind genau die gleichen Fehler wie Heft.
Ich schreib die jetzt an dann sollen die mir die Kohle zureuckerstatten. Einfach nur unfassbar.

Aber Danke , ich werde mich natuerlich nicht geschlagen geben und weiter proggen.
Bitte warten ..
Mitglied: Alchimedes
09.06.2014 um 18:53 Uhr
Hallo,

Nachtrag:


das mit den Arrays ist ne schoene Sache geht hier aber ueber das Ziel hinaus...

der Satz ist logischerweise Bloedsinn, den es handelt sich um Arrays.....


Gruss
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Leerzeichen im Pfad (4)

Frage von Jallio zum Thema Batch & Shell ...

Batch & Shell
gelöst Schreiben eines Strings mit Leerzeichen in eine Datei (6)

Frage von c20082005 zum Thema Batch & Shell ...

Microsoft Office
gelöst Dropdownlisten in Abhängigkeit mit Leerzeichen im Namen (Datenüberprüfung) (2)

Frage von kevische zum Thema Microsoft Office ...

Batch & Shell
gelöst Batch Leerzeichen in nur bestimmten Spalten entfernen? (2)

Frage von Komoran12 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (22)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...