Zum Forum springen
Benachrichtigungen
Alles löschen

PHP Frage

39 Beiträge
7 Benutzer
3 Reactions
1,468 Ansichten
sarc
Beigetreten: 06.06.2008

Gar nicht.* Der Dropdown passiert im Browser, PHP wird auf dem Server ausgeführt. Du musst also ne Anfrage an den Server schicken, wenn du das in PHP nutzen willst.
An der Stelle dann auch direkt ein Hinweis für die Sicherheit, weil das gern mal übersehen wird: Auch wenn der Inhalt von ner Liste mit vorgegebenen Werten kommt, heißt das noch lange nicht, dass dir der User nicht trotzdem beliebige Werte übermitteln kann. Also Faustregel: Werte die von außen kommen immer prüfen, egal auf welchem Weg sie reinkommen, Manipulation ist immer möglich.

(* Ist nicht komplett richtig, geht natürlich über AJAX, aber ich glaub das führt für OP etwas zu weit...)


Antwort
Zitat
flowIIpoker
Beigetreten: 14.02.2007

hm ... na ohne event wird doch nix vom client an den server uebertragen (oder bin ich jetzt voellig falsch)


Antwort
Zitat
0815pokerpr0
Beigetreten: 03.06.2012

Wie geht das denn mit ajax?


Antwort
Zitat
flowIIpoker
Beigetreten: 14.02.2007

echt jetzt?!? mach mal sowas wie eine skype-groupe auf sonst tippen wir uns zu tode


Antwort
Zitat
sarc
Beigetreten: 06.06.2008

Wie geht das denn mit ajax?

Ich sag nicht ohne Grund, dass das für dich etwas over the top ist. Schaut lieber, dass ihr den PHP-Teil hinkriegt, bevor ihr da jetzt noch irgend nen Mist mit Javascript reinbringen wollt. Das machts nur umständlicher und schwerer zu debuggen.

Ansonsten ist das ne perfekte Frage für Google, da gibts genug Tutorials zu. Allerdings bin ich schon der Meinung, dass das Techniken sind, die man nicht unbedingt direkt am Anfang lernen muss.


Antwort
Zitat
flowIIpoker
Beigetreten: 14.02.2007

naja, er soll aber auch sehen, was alles geht und wo MAN SCHEISSE drauf achten soll, von wo die pfeile auf die db kommen


Antwort
Zitat
COleException
Beigetreten: 04.12.2007

Original von sarc
Gar nicht.* Der Dropdown passiert im Browser, PHP wird auf dem Server ausgeführt. Du musst also ne Anfrage an den Server schicken, wenn du das in PHP nutzen willst.
[..]
(* Ist nicht komplett richtig, geht natürlich über AJAX, aber ich glaub das führt für OP etwas zu weit...)

Hab ich Dein Posting richtig verstanden? Ajax sendet Deiner Meinung nach keinen Request vom Client an den Server?


Antwort
Zitat
COleException
Beigetreten: 04.12.2007

Original von flowIIpoker

Original von 0815pokerpr0
Wie kann ich denn dynamisch auf mein Dropdown zugreifen, damit ich den jeweiligen Text auslesen kann, der selektiert wurde?

ich möchte mir da den Button sparen....

d.h. Wie muss ich hier meine getData function aufbauen?

                <select name="benutzernamen" id="hilfsdienstart" class="button" onchange="getData()">
                <?php
                while ($row = mysqli_fetch_assoc($benutzernamen)) {
                    echo "<option value=".$row["Benutzername"].">".$row["Benutzername"]."</option>";
                }
                ?>
                </select>

hm bin ich blind oder gibs da keinen event?!?

Natürlich hat er ein Event: onChange.


Antwort
Zitat
0815pokerpr0
Beigetreten: 03.06.2012

kann da mal bitte jemand von euch ein ajax snipped posten, wie ich den aktuellen wert per php ansprechen kann?


Antwort
Zitat
sarc
Beigetreten: 06.06.2008

Original von COleException

Original von sarc
Gar nicht.* Der Dropdown passiert im Browser, PHP wird auf dem Server ausgeführt. Du musst also ne Anfrage an den Server schicken, wenn du das in PHP nutzen willst.
[..]
(* Ist nicht komplett richtig, geht natürlich über AJAX, aber ich glaub das führt für OP etwas zu weit...)

Hab ich Dein Posting richtig verstanden? Ajax sendet Deiner Meinung nach keinen Request vom Client an den Server?

Nein, hast du falsch verstanden. Ich wollte damit ausdrücken, dass es nur mit HTML und PHP nicht geht. AJAX sollte nur für Leute erwähnt sein, die sich auskennen und mich sonst kräftig schimpfen wollen... ;)


Antwort
Zitat
Jadino
Beigetreten: 10.02.2009

Les hier schon ne Weile mit,
Mein Tip, der hier auch schon mal von einem anderen angebracht wurde ist, poste mehr vom source code.
Es ist einfach sehr schwer nachzuvollziehen, was du eigentlich machen möchtest, insbesondere weil dein code und db nicht ganz sauber zu sein scheinen.

So wie ich das nämlich verstehe willst du einfach nur bei onchange daten an den Server schicken, richtig?
Dann hätte das nämlich nichts mit ajax zu tun und du könntest einfach dem onchange nen submit zuweisen.

Hier ein Beispiel:
https://stackoverflow.com/questions/7231157/how-to-submit-form-on-change-of-dropdown-list


Antwort
Zitat
0815pokerpr0
Beigetreten: 03.06.2012

Also damit jetzt mal etwas Bewegung in die Sache kommt hier mal der Code inkl. Screenshot.

Funktioniert:

                <select name="benutzernamen" id="hilfsdienstart" class="button" onchange="this.form.submit();">
                <?php

                $selected = '';
                $options = '';
                while ($row = mysqli_fetch_assoc($benutzernamen)) {
                    $options .= "<option value=".$row["Benutzername"].">".$row["Benutzername"]."</option>";
                }
                echo $options;
                ?>
                </select>

Funktioniert nicht:

                <select name="benutzernamen" id="hilfsdienstart" class="button" onchange="this.form.submit();">
                <?php
                echo test();
                function test(){
                $selected = '';
                $options = '';
                while ($row = mysqli_fetch_assoc($benutzernamen)) {
                    $options .= "<option value=".$row["Benutzername"].">".$row["Benutzername"]."</option>";
                }
                return $options;
                }


                ?>
                    
                </select>

WIEEEESOOOO????:wtf::wtf::wtf:


Antwort
Zitat
Kellerlanplayer
Beigetreten: 02.12.2006

Eine Funktion in der Funktion? :wtf:

Sry kein Bock das auf deinen Fall umzumodeln, aber hier mal nen Ausschnitt aus nem Code von mir der funzt und das macht was du ursprünglich wolltest :)

  echo '<form>
  <select name="sportart" onchange="this.form.submit()">
  <option>Sportart wählen</option> ';
  foreach ($sportarten as $sportart)
  {
        echo "<option value=".$sportart->ID." >" . $sportart->bezeichnung . "</option>";   
  }
  echo '</select>
        <noscript><input type="submit" value="Submit"></noscript>
        </form>';

Antwort
Zitat
Jadino
Beigetreten: 10.02.2009

Original von 0815pokerpr0
WIEEEESOOOO????:wtf::wtf::wtf:

Ganz einfach du erstellst eine Funktion, die nie aufgerufen wird und dann logischerweise auch nie ausgeführt wird.

Außerdem wird nicht ersichtlich was du damit bezweckst.
Edit: grad den aufruf gesehen, aber die Frage was das ganze soll bleibt

Bitte poste endlich code snipplets, aus denen ersichtlich wird was du bezweckst.
Denn so macht man das halt einfach, hat was mit Respekt gegenüber den Personen die dir Hilfestellung anbieten zu tun.


Antwort
Zitat
0815pokerpr0
Beigetreten: 03.06.2012

Wenn ich wüsste welche snippets oO

Ich habe hier den Code für das Dropdown-Menü gepostet.
Die Variable $benutzernamen ist letztendlich nur ein Array mit x Benutzernamen.

Und nun will ich den jeweils ausgewählten wert quasi onchange als POST variable verwenden können.

Mit kellerlanplayer's Code konnte ich nicht allzu viel anfangen.


Antwort
Zitat
Jadino
Beigetreten: 10.02.2009

Ist das select überhaupt in einem <form> tag eingeschlossen?

Hilfreich wäre der code des kompletten <form> und der code der php code der den request verarbeiten soll.


Antwort
Zitat
flowIIpoker
Beigetreten: 14.02.2007

Original von 0815pokerpr0
Mit kellerlanplayer's Code konnte ich nicht allzu viel anfangen.

hm .... er macht genau das gleiche, was du auch willst.


Antwort
Zitat
sarc
Beigetreten: 06.06.2008
Antwort
Zitat