Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Wert in Auswahlfeld per Variable auslesen lassen

Hi,

Ich habe ein mittelgroßes Problem und bin mir sicher, dass ihr helfen könnt :). Also: Ich versuche, Daten, die in einer MySQL-DB gespeichert sind auslesen zu lassen. In der DB sind Personen mit Vor- und Nachname sowie einer Gruppe, der sie angehören gespeichert. Die Gruppe können die User über ein Auswahlfeld wählen: Gruppea, Gruppeb, Gruppec usw... Nun möchte ich, dass auf einer bestimmten Seite NUR die Mitglieder einer bestimmten Gruppe angezeigt werden, beispielsweise Gruppea. Folgenden Code habe ich hierzu erstellt:

Code:                   In Zwischenablage kopieren (nur IE)
1">

Eigentlich sollten nun alle Mitglieder angezeigt werden, bei denen die Variable $gruppe mit dem Inhalt des Auswahlfeldes "group" übereinstimmt, oder nicht? Statt aber nur die Mitglieder einer Gruppe anzuzeigen, zeigt er die Mitglieder an, die keiner Gruppe zugehören, also genau das Gegenteil. Probiere ich dies mit dem Textfeld "vorname", zeigt er mir alle Einträge der Datenbank an. Daher meine Frage: Ist etwas am Code falsch oder kann dies gar nicht funktionieren, weil man zum Auslesen keine Auswahlfelder benutzen kann?

Vielen Dank im Voraus,

bnc-bang
Hier gehts zum Orginal Eintrag "Wert in Auswahlfeld per Variable auslesen lassen" im Forum

Antworten

Da ist wohl $gruppe bei dir leer.

Und wenn das Feld "group" heißt, wird es wohl $_GET['gruppe'] auch nicht geben.


2.

Nun ja, wenn ich $_GET['group'] statt $_GET['gruppe'] schreibe, gibt er mir die Fehlermeldung: "Notice: Undefined index: group in datei.php on line 47" aus. Line 47 ist die oben erwähnte Line.


3.

Also heißt das Feld doch "gruppe" und es stimmt etwas mit dem Wert nicht. Aber bei GET siehst du doch, ob und was übergeben wird. Ansonsten solltest du mal ein paar echo-Befehle einbauen.


4.

Ja, das Feld heißt "gruppe". Mit dem Wert sollte eigentlich alles stimmen, ich habe die Gruppennamen exakt so angegeben, wie sie in der DB gespeichert sind oder lassen sich die Werte eines Auswahlfeldes gar nicht auf diese Weise auslesen?


5.

"Mit dem Wert sollte eigentlich alles stimmen"
--> Sollte ist gut.

"ich habe die Gruppennamen exakt so angegeben, wie sie in der DB gespeichert sind"
--> Ähm, wenn ich da "intval" sehe, müssen das Zahlen sein.

Wie sieht dein Formular aus?


6.

Zitat:
Swiftnick postete
--> Sollte ist gut.
Sagen wir: Es stimmt :).
Zitat:
--> Ähm, wenn ich da "intval" sehe, müssen das Zahlen sein.
Hier liegt wohl das Problem... Was soll ich stattdessen angeben?
Zitat:
Wie sieht dein Formular aus?
Was für ein Formular? Ich möchte die Gruppen einfach über einen Link erreichen.


7.

wie wärs wenn du mal mit [doc]print_r[/doc] ein bissel debuggen tätest?


8.

Nun zeigt er mir die Mitglieder der Standard-Gruppe an, egal, was ich als Variable eingebe...


9.

Wie sieht dein oben erwähntes "Auswahlfeld" aus? Bzw. wie und wo wird denn "gruppe" übergeben?

Was zeigt echo $sql; an ?


10.

echo $sql gibt:
Zitat:
$sql = "SELECT * FROM userfields WHERE group = ''
aus.

Das Auswahlfeld sieht so aus:

ALTER TABLE `userfields` CHANGE `group` `group` ENUM( 'gruppea', 'gruppeb', 'gruppec', 'grupped', 'gruppee', 'gruppef' ) NOT NULL DEFAULT 'gruppea'


11.

Hallo?

Was hat das Auswählen der Gruppe mit einer ALTER TABLE -Anweisung zu tun?

$gruppe ist auf jeden Fall leer, was mich irgendwie auch kein bisschen wundert...

Vielleicht solltest du erst mal ein paar Grundlagen lernen?


12.

Öhm... das sollte nur den Aufbau des Tabellenfeldes (Auswahlfeldes) zeigen, nichts weiter. Ich hätte es auch erklären können, nur war ich der Meinung, so würde es jeder verstehen. Dass die Sachen nichts miteinander zu tun haben, ist mir auch klar, aber du wolltest wissen, wie das Feld aufgebaut ist.


13.

Ich wollte nicht wissen, wie das Feld aufgebaut ist.

Ich wollte wissen, wie du folgendes genau machst:
"Die Gruppe können die User über ein Auswahlfeld wählen"


14.

Ach so... sag das doch :). Die Mitglieder wählen über ein einfaches Auswahlformular die einzelnen Gruppen aus. In der Liste sind die oben genannten Gruppen aufgeführt. Wenn sie eine Gruppe ausgewählt haben, wird diese in dem oben beschriebenen Auswahlfeld gespeichert (innerhalb ihrer Userdaten als Teil der Tabelle userfields).


15.

Gut, dann so:
Ich will sehen, wo $_GET['gruppe'] herkommen soll. Und zwar als Code!


16.

$_GET['gruppe'] gibt es nicht mehr (siehe ein paar Posts weiter oben), dieser heißt nach der Ausbesserung $_GET['group'] und "group" wird aus der Tabelle userfields genommen.

Code:                   In Zwischenablage kopieren (nur IE)
2">




17.

Also ich gebs jetzt auf....


18.

Was willst du denn wissen? $_GET['group'] kommt von der Variablen $gruppe, die man 1. als URL eingeben kann und 2. über einen Link erreichen kann. Willst du den Code für den Link? Bitte:
Code:                   In Zwischenablage kopieren (nur IE)
3">




19.

Ja, genau das wollte ich sehen.

Da sollte aber der Code aus deinem allerersten Post passen. Bis auf das intval natürlich, wie kommst du denn auf die Idee?

Und es muss doch $_GET['gruppe'] heißen, nicht $_GET['group'] ! Also nicht einfach drauf los ändern, immer schön mitdenken!


20.

Ach so. Sorry, ich arbeite die ganze Zeit per Direkt-URL. Die Datei mit dem Code habe ich noch nicht erstellt, also war mir anfangs nicht klar, welchen Code du haben wolltest (zumal dieser auch klar sein sollte).

Warum es $_GET['group'] heißen sollte hat mich etwas verwundert, allerdings bist du der Profi und nicht ich, daher habe ich deine Möglichkeit übernommen :).

Aber egal... nach einigen Änderungen und der Rücknahme der $_GET['group'] Änderung FUNKTIONIERT ES !

Ich danke euch vielmals und wünsche euch einen angenehmen und - nach dieser schweren Geburt - ruhigen Länderspiel-Abend ;).

Für die interessierten hier noch einmal der komplette Code:

Code:                   In Zwischenablage kopieren (nur IE)
4">




21.

Irgendwie haben wir beide mit "Auswahlfeld" etwas anderes gemeint. Ich habe verstanden, der User kann über ein Auswahlfeld auswählen, welche Gruppe angezeigt werden soll.

Deshalb war wohl alles etwas verwirrend :)

Aber 21 Postings wegen einem falschen intval muss uns erst mal einer nachmachen :)

Und noch was zum Lesen für heute Abend:
http://www.php-faq.de/q/q-sql-injection.html


22.

Na gut, hat sich das auch geklärt :D. Eine solche Auswahl könnte man ja auch einrichten, ich bin aber so vollkommen zufrieden :).

Vielen Dank nochmal.


Hier gehts zum Orginal Eintrag "Wert in Auswahlfeld per Variable auslesen lassen" im Forum
 
phpforum.de | Impressum