php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.10.2009, 11:55  
Neuer Benutzer
 
Registriert seit: 01.10.2009
Beiträge: 10
PHP-Kenntnisse:
Anfänger
laco1 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Problem mit Checkboxen

Hallo zusammen,

ich bastel schon den ganzen Tag an einem Online-Fragebogen mit "checkboxen" herum. Leider klappt das nicht so ganz, wie ich will.

Wenn mehrere Antworten angeklickt werden, wird später leider nur die letzte Antwort in die auswertende .txt geschrieben. Nun weiß ich irgendwie nicht weiter, wie ich es anstellen kann, dass zum Beispiel auch drei von vier Antworten und nicht nur die letzte in der .txt stehen.

Ich muss dazu sagen, ich bin noch ein Newbe auf dem Gebiet...

Das steht in meiner html-Datei:
PHP-Code:
<strong>FrageWas w&auml;re für Sie wichtig? (mehrere Antworten m&ouml;glich)</strong>
<
br /><br />
<
input type="checkbox" name="tragen" value="- Antwort 1" size="25" />Antwort 1&nbsp;&nbsp;
<
input type="checkbox" name="tragen" value="- Antwort 2" size="25" />Antwort 2&nbsp;&nbsp;
<
input type="checkbox" name="tragen" value="- Antwort 3" size="25" />Antwort 3&nbsp;&nbsp;
<
input type="checkbox" name="tragen" value="- Antwort 4" size="25" />Antwort 4&nbsp;&nbsp

Das steht in meiner phtml-Datei:
PHP-Code:

$tragen 
$_POST['tragen'];



if (!isset(
$tragen)) //Code checks if the gender chose or not by empty fuction
echo("<p><p><strong>(Frage 3)</strong> Sie haben nicht eingegeben, was f&uuml;r Sie wichtig ist<br>");




if (!empty(
$gender) and isset($tragen)){




 
// save the answer to auswertung.txt file.
 
 
function esc($input)
{
   return (
addcslashes ($input  ,"\t\n"));
}
 
$file 'auswertung.txt';
$fp fopen($file'a+');
if(!
$fp) {
    echo(
'Error: could not open '.$file);
} else {
    
$text esc($tragen)."\n";
    
fwrite($fp$text);
}



echo (
"<p><b>Wichtig ist:</b> " $tragen); 
Hätte da jemand eventuell einen Lösungsansatz? Wäre euch sehr dankbar!
laco1 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.10.2009, 11:58  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Tag,

Code:
name="tragen[]"
PHP-Code:
if (isset($_POST["tragen"])) {
  foreach (
$_POST["tragen"] as $checkbox) {
    
// ...
  
}

Asipak ist offline  
Alt 01.10.2009, 12:43  
Neuer Benutzer
 
Registriert seit: 01.10.2009
Beiträge: 10
PHP-Kenntnisse:
Anfänger
laco1 befindet sich auf einem aufstrebenden Ast
Standard

muss ich das auch auf die anderen code-teile anwenden?

z.b. so:
PHP-Code:
$tragen $_POST['tragen[]']; 
PHP-Code:
if (!empty($gender) and isset($tragen[])){ 
und so
PHP-Code:
echo ("<p><b>Wichtig ist:</b> " $tragen[]); 
mit dem zweiten beispiel komm ich noch nicht ganz klar. Wo setze ich dann den text? muss die Schleife (foreach?) noch einmal irgendwo im Code auftauchen? Passt das mit dem "echo"-text?:
PHP-Code:
if (isset($_POST["tragen"]))  {
//Code checks ...
echo("<p><p><strong>(Frage 3)</strong> Sie haben nicht eingegeben, was f&uuml;r Sie wichtig ist<br>");
  foreach (
$_POST["tragen"] as $checkbox) {
    
// ...
  
}

Dann wird hier der Code am Ende abgeschlossen. Nun habe ich aber mehre andere Frage die ohne Checkboxen auskommen. Die if und echos stehen alle untereinander - Wärde dann nicht die anderen Funktionen gestoppt. (vielleicht etwas umständlich von mir erklärt - hier ein Beispiel):

PHP-Code:
if (!isset[$tragen]) //Code checks ...
echo("<p><p><strong>(Frage 1)</strong> Sie haben vergessen...<br>");

if (!isset[
$tasche]) //Code checks ...
echo("<p><p><strong>(Frage 2)</strong> Sie haben vergessen...<br>");

if (!isset(
$taschenuhr)) //Code checks ...
echo("<p><p><strong>(Frage 3)</strong> Sie haben vergessen...<br>"); 

würde dann nicht der code durch die geschweifte Klammer abgeschlossen werden?:

PHP-Code:
if (isset($_POST["tragen"]))  {
//Code checks ...
echo("<p><p><strong>(Frage 3)</strong> Sie haben vergessen...<br>");
  foreach (
$_POST["tragen"] as $checkbox) {
    
// ...
  
}


if (!isset[
$tasche]) //Code checks ...
echo("<p><p><strong>(Frage 2)</strong> Sie haben vergessen...<br>");

if (!isset(
$taschenuhr)) //Code checks ...
echo("<p><p><strong>(Frage 3)</strong> Sie haben vergessen...<br>"); 

Es kommt leider gar keine Anzeige der Auswertung mehr, wenn ich das so einsetze... Anscheinend fehlt etwas

Geändert von laco1 (01.10.2009 um 13:14 Uhr).
laco1 ist offline  
Alt 01.10.2009, 13:21  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Das Feld tragen wird im Beispiel zu einem Array:

PHP-Code:
echo '<pre>'print_r($_POST["tragen"]), '</pre>'
Dieses kannst du z.B. mit einer foreach-Schleife auslesen.

PHP-Code:
if (isset($_POST["tragen"])) {
  foreach (
$_POST["tragen"] as $checkbox) {
    
// ...
    
echo $checkbox;
  }

Asipak ist offline  
Alt 01.10.2009, 13:23  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

*argh*

schon wieder Zeit verschwendet:

checkboxen lassen sich nicht alle auswerten - PHP script resource

Bitte beachten:
Anmerkung zu Multipostings
Asipak ist offline  
Alt 01.10.2009, 13:30  
Neuer Benutzer
 
Registriert seit: 01.10.2009
Beiträge: 10
PHP-Kenntnisse:
Anfänger
laco1 befindet sich auf einem aufstrebenden Ast
Standard

hallo sorry,

da gab es nur eine antwort mit das muss ein Array rein.

Ich wusste auch nicht, das man das nicht darf. Hiermit setze ich den Post in dem anderen Forum auf erledigt...

Werde in Zukunft so etwas nicht mehr tun!
laco1 ist offline  
Alt 01.10.2009, 13:32  
Erfahrener Benutzer
 
Benutzerbild von ChillSn
 
Registriert seit: 28.07.2009
Beiträge: 267
PHP-Kenntnisse:
Fortgeschritten
ChillSn befindet sich auf einem aufstrebenden Ast
ChillSn eine Nachricht über Skype™ schicken
Standard

Ach Asipak, du schaffst es aber auch immer wieder
Das wäre eigtl. mal ne Skriptidee wert!

PHP-Code:
$array=search_google_for_even_created_thread($thread_content);
if(
sizeof($array)>1//eben bei php.de
  
echo "MULTIPOST!!!!"


Gruß, ChillSn
__________________
PHP-Code:
while($humans>=2)
       
war(); 
ChillSn ist offline  
Alt 01.10.2009, 13:36  
Neuer Benutzer
 
Registriert seit: 01.10.2009
Beiträge: 10
PHP-Kenntnisse:
Anfänger
laco1 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Asipak Beitrag anzeigen
Das Feld tragen wird im Beispiel zu einem Array:

PHP-Code:
echo '<pre>'print_r($_POST["tragen"]), '</pre>'
Dieses kannst du z.B. mit einer foreach-Schleife auslesen.

PHP-Code:
if (isset($_POST["tragen"])) {
  foreach (
$_POST["tragen"] as $checkbox) {
    
// ...
    
echo $checkbox;
  }

ok ich seh nicht mehr durch.
Woher kommt das <pre> plötzlich und was bedeutet es?


Sorry - bin ich jetzt "gebannt" oder "gebranntmarkt"? Und das gleich am ersten Tag.. Heute geht irgendwie alles schief... Sorry Leute

Geändert von laco1 (01.10.2009 um 13:44 Uhr).
laco1 ist offline  
Alt 01.10.2009, 13:44  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Es soll wiederum nur ein Beispiel sein, damit du dir den Inhalt von $_POST["tragen"] anschauen kannst. Es handelt sich dabei nicht um eine Lösung!

pre

Zitat:
Zitat von ChillSn Beitrag anzeigen
Ach Asipak, du schaffst es aber auch immer wieder
Das wäre eigtl. mal ne Skriptidee wert!

PHP-Code:
$array=search_google_for_even_created_thread($thread_content);
if(
sizeof($array)>1//eben bei php.de
  
echo "MULTIPOST!!!!"


Gruß, ChillSn
Ja, würde uns und den Mods eine Menge Zeit ersparen! Es sind einfach zu viele Foren, die sich mit dem Thema PHP beschäftigen. Ich finde die Threads auch immer nur zufällig.

Zitat:
Sorry - bin ich jetzt "gebannt" oder "gebranntmarkt"? Und das gleich am ersten Tag.. Heute geht irgendwie alles schief... Sorry Leute
Nein, sicher nicht. Aber in Zukunft solltest du dich an die Regeln halten
Asipak ist offline  
Alt 01.10.2009, 14:13  
Erfahrener Benutzer
 
Registriert seit: 28.08.2009
Beiträge: 233
PHP-Kenntnisse:
Anfänger
Steve befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
name="tragen[]"
Wenn du jetzt so große Probleme mit Arrays hast, gibt es noch eine zweite Variante, nämlich eindeutige Namen benutzen.
Code:
name="tragen_1"
name="tragen_2"
...
Steve ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
Checkboxen mit dynamischen Namen Werkler PHP Tipps 2006 7 11.04.2006 11:35
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Problem bei checkboxen flual2000 PHP Tipps 2007 5 03.11.2005 12:11
checkboxen wizzardxx PHP Tipps 2005-2 7 16.10.2005 22:58
[Erledigt] Problem mit Backslash Patrick Schwarz PHP Tipps 2005-2 5 26.07.2005 09:54
Checkboxen richtig auslesen Boennchen PHP Tipps 2005-2 7 21.07.2005 11:57
[Erledigt] Problem mit User/Group: nobody(99)/99 Server, Hosting und Workstations 3 09.07.2005 15:31
Problem Checkboxen - string mit Zahlen die gecheckten setzen Cyberbob_at_tot PHP Tipps 2005-2 5 11.06.2005 11:36
(inhalte) der checkboxen aus mysql auslessen PHP Tipps 2005-2 4 07.06.2005 14:02
$_POST und nicht geklickte Checkboxen PHP Tipps 2004 5 29.09.2004 21:41
Checkboxen value übergeben ?? PHP Tipps 2004 15 15.08.2004 23:17
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php checkboxen text in mysql tragen, php post foreeach auslesen zählen, if isset checkboxen, checkbox problem, checkbox php beispiel

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum