php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.10.2005, 18:57  
Gast
 
Beiträge: n/a
Standard aform ..> Problem .. checkbox wird nicht erkannt

Hallo

http://nopaste.php-q.net/167135

In der Zeile 15 sende ich die Anfrage.
In der Zeile 47 wird die Anfrage entgegen genommen.

Das Ganze funktioniert soweit.

Was nicht funktioniert ist die Zeile 53 ..

echo $_REQUEST['antwort0'];

Ich erhalte die folgende Fehlermeldung:
Notice: Undefined index: antwort0 in /var/www/questions/index.php

Wäre für jede Hilfe dankbar
Gruß
Aaron
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 22.10.2005, 19:21  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dann mach doch einfach mal ein
PHP-Code:
<?php

    
echo '<pre>';
    
print_r($_REQUEST);
    echo 
'</pre>';

?>
imported_Ben ist offline  
Alt 22.10.2005, 19:31  
Gast
 
Beiträge: n/a
Standard

Hi

Wie erwartet:

Array
(
[action] => frage_anzeigen
[level_auswahl] => level1
[PHPSESSID] => d1871b6effae52bd5dc75f32b3aa1712
)

Ich möchte gerne wissen, warum echo $_REQUEST['antwort0']; nicht ausgegeben wird.
Warum kommt das Ganze unte nicht an ?!

Gruß
Aaron
 
Alt 22.10.2005, 19:46  
Gast
 
Beiträge: n/a
Standard

name=antwort.$i

Was soll der Punkt??? Und Attribute gehören zwischen " oder ', mit anderen Worten, dein HTML-Code ist Schrott.

Gruß
phpfan
 
Alt 22.10.2005, 20:01  
Gast
 
Beiträge: n/a
Standard

Hi phpfan,

Hast recht.. Punkt war falsch.

name='antwort$i'

wird leider auch nicht erkannt ?!

Gruß
Aaron
 
Alt 22.10.2005, 20:10  
Gast
 
Beiträge: n/a
Standard

zumeist ist es auch ganz hilfreich tag mit > zu beenden (<...>) :wink:
 
Alt 22.10.2005, 20:26  
Gast
 
Beiträge: n/a
Standard

Hi

@karl-150: Danke für den Hinweis. Ist aber nicht die Fehlerquelle. Sowas schluckt HTML ohne Probleme


Das hier funktioniert ohne probleme !!!
Ich raffe nur nicht, warum meine Version (oben) nicht funktioniert.


PHP-Code:
<?php

echo "<html><body>";

echo 
"<table><form method=post action='box2.php?action=frage_anzeigen&level_auswahl=level1'>";

for(
$i=0$i<=1$i++) {
    echo 
"<tr><td><input type=checkbox name='antwort$i'></td><td>Antwort $i</td></tr>";
    echo 
"
"
;
}
echo 
"</table>
"
;
echo 
"<input type=submit value=weiter>";
echo 
"</form></body></html>";




if (
$_REQUEST["action"] == 'frage_anzeigen') {

    if (
$_REQUEST["level_auswahl"] == 'level1') {
        echo 
"
"
;
        echo 
"
Antwort: "
.$_REQUEST['antwort0'];
        echo 
"
Antwort: "
.$_REQUEST['antwort1'];
        
        echo 
'<pre>';
        
print_r($_REQUEST);
        echo 
'</pre>';
    }
}

?>
 
Alt 22.10.2005, 21:07  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

@aaron_k:
Irgendwie passen die Aussagen in Deinen Postings nicht so ganz zusammen....

Zitat:
Zitat von aaron_k
Wie erwartet:
Array
(
[action] => frage_anzeigen
[level_auswahl] => level1
[PHPSESSID] => d1871b6effae52bd5dc75f32b3aa1712
)
Ich möchte gerne wissen, warum echo $_REQUEST['antwort0']; nicht ausgegeben wird.
Nochmal langsam zum mit Mitmeiseln.
- WIE ERWARTET wird ... ausgegeben. Das heißt, der Inhalt stimmt.
- $_REQUEST['action0'] soll ausgegeben werden.

So....
Wenn der Inhalt von _REQUEST wie erwartet ist (und da ist nunmal kein 'action0' drin), warum sollte PHP denn im Traum dran denken, einen Wert für $_REQUEST['action0'] auszuspucken?
Wie in solchen Stellen üblich, kommt "Notice: undefined index....."

Und zu dem Teil hier:
Zitat:
Zitat von aaron_k
Ich raffe nur nicht, warum meine Version (oben) nicht funktioniert.
Öhm... HALLO?
Weil Du doch schon lange erkannt hast, dass action.$i Mist ist und action$i heißen muss. Das hast Du korrigiert und OH WUNDER... es geht.

In Deinem falschen ersten Versuch kamen mehrere Einträge mit dem gleichen name=action raus.

HTML schluck nicht nur schlampige Programmierung bei fehlenden >, sondern sogar Schlampereien, wo einfach so ein '.' hinter dem Namen steht.

Das ist halt die Quittung für Sachen wie "HTML schluckt sowas...".
Ja, LEIDER geht ziemlich viel miserables HTML noch irgendwie durch und da fällt das halt nicht so schnell auf, wenn man Mist macht.

Übrigens "schluckt" HTML sowas sicher nicht, sondern die Browser, die nicht sofort meckern, wenn es falsch ist.
Wenn Du wissen willst, was HTML "schluckt", dann frag den W3C-Validator. Der sagt Dir schon, was ein Fehler ist und was nicht.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 22.10.2005, 21:21  
Gast
 
Beiträge: n/a
Standard

Hi Der_Gerhard,

Dank phpfa und Karl habe ich eine Version zum laufen gebraucht.
Mein eigentliches Programm funktioniert leider immer noch nicht, obwohl ich die Veränderung 1:1 übernommen habe.

Ich stehe imom bissel auf dem Schaluch.. was mache ich hier immer noch falsch ?!

PHP-Code:
<?php
<?php
....
....
....
    
    
// Html Seite mit Frage + Antworten werden erzeugt
    
echo "<html><body>";
    echo 
"$fragestellung";
    echo 
"<table><form method=post action='index.php?action=frage_anzeigen&level_auswahl=$level'>";
    
// Antworten + checkboxen werden erzeugt. 
    
for($i=0$i<=sizeof($naechste_frage_antworten)-1$i++) {
        echo 
"<tr><td><input type=checkbox name='antwort$i'></td><td>$naechste_frage_antworten[$i]</td></tr>";
        echo 
"
"
;
    }
    echo 
"</table>
"
;
    echo 
"<input type=submit value=weiter>";
    echo 
"</form></body></html>";

    }
//ENDE Auswertung
}//Ende function html_seite_erzeugen

....
....
....

if (
$_REQUEST["action"] == 'frage_anzeigen') {

    if (
$_REQUEST["level_auswahl"] == 'level1') {
        
$level "1";
        
frage_und_antwort_generieren($matrikelnummer$level);

        echo 
"
"
;
        echo 
"
Antwort: "
.$_REQUEST['antwort0'];
        echo 
"
Antwort: "
.$_REQUEST['antwort1'];
        
        echo 
'<pre>';
        
print_r($_REQUEST);
        echo 
'</pre>';

    }
//Ende level1
}//Ende frage_anzeigen

....
....

else {
    echo 
"
 kein action !"
;
}

?>
?>
 
Alt 22.10.2005, 21:34  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Pack die Ausgabe von $_REQUEST mal vor die if-Abfrage.
Was kommt dabei raus?
Was wird denn überhaupt von dieser Version ausgegeben?
Ist $Level vorher irgendwann auf "level1" gesetzt worden? Zumindest im vorherigen Script dürfte das der Fall gewesen sein. (Laut Ausgabe von $_REQUEST)

Da anscheinend Formular und Auswertung im selben Script passiert: Was passiert beim ersten Aufruf der Seite und was nach Absenden des Formulars?

Zu der Frage, was Du falsch machst...
- Nahezu alle Tag-Attribute, die ich gesehen habe sind nicht in Anführungszeichen.
- Die Sequqnze <table><form>...</table>...</form> finde ich gruselig.
- Du schließt <input> nicht ab.
Da gibt es viele kleine Dinge, die Dein Ergebnis weit weg von sauberem HTML bringen.
Mit Deinem PHP-Problem hat das aber nix zu tun.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard 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
Timestamp problem phrain PHP Tipps 2008 2 04.04.2008 09:41
checkbox problem haufe PHP Tipps 2008 6 18.02.2008 16:32
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
Check my Checkbox JanM PHP Tipps 2006 4 04.02.2006 17:44
checkbox problem test022 PHP Tipps 2006 18 25.01.2006 21:59
[Erledigt] Problem beim Auslesen von Checkbox Values PHP Tipps 2007 16 09.12.2005 09:38
checkbox .. mehrere werte auslesen bei gleichem namen PHP Tipps 2005-2 9 12.10.2005 15:24
[Erledigt] Problem mit Backslash Patrick Schwarz PHP Tipps 2005-2 5 26.07.2005 09:54
[Erledigt] Problem mit User/Group: nobody(99)/99 Server, Hosting und Workstations 3 09.07.2005 15:31
[Erledigt] Checkbox Problem mit JavaScript und PHP HTML, Usability und Barrierefreiheit 3 26.10.2004 20:03
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
Checkbox Problem PHP Tipps 2004 2 12.08.2004 13:20
Problem beim Upload mehrerer Dateien per Script PHP Tipps 2004 1 04.08.2004 16:26
checkbox problem PHP Tipps 2004 0 14.07.2004 23:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
checkbox notice: undefined index:, checkbox wird nicht erkannt php, problem checkbox ist immer in html, undefines index wieso wird $_request nicht erkannt

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:44 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.