Modal zeigt gleiche Value an

  • Nicht schön, wenn ein Thread in die PN's abdriftet


    Habe dort was anderes gefragt.

    Aber ich kann auch nochmal das gleiche Schreiben.


    Falls jemand das ganze Live sehen will und AnyDesk hat gerne bescheid sagen.


    Lade das aktuell auf kein Webserver hoch.

  • So nachdem es gefühlt ne Stunde hochgeladen hat:


    http://cuzimcloud.bplaced.net


    Benutzername:

    Test


    Passwort:

    test123


    Ihr werdet auf die Seite geleitet, Dort einfach auf "Management" klicken und dann sind da 2 Benutzer.


    Test und Luis.


    Und es wird im Modal immer der Benutzer angezeigt mit dem man eingeloggt ist.



    Es liegt eventuell an der

    $userId = $_SESSION["userId"];


    bei $_GET oder $_POST werden Fehler angezeigt (Undefinded Index userid -> ( ["userId"] ))

  • Die Verbindung zwischen dem auslösenden Knopf und dem Modal wird durch das Attribut data-target hergestellt. Dieses definierst Du statisch so:

    Code
    data-target='#defaultModal'

    Du musst dieses Attribut benutzerspezifisch definieren, anbieten würde sich die User-ID, etwas so:

    PHP
    data-target="modal-<?php echo $value['userId'] ?>"

    Und natürlich dem Modal die korrespondierde ID geben:

    PHP
    <div class="modal fade" id="modal-<?php echo $value['userId'] ?>" tabindex="-1" role="dialog">

    In einem nächsten Schritt könntest Du das Ganze noch etwas kompakter machen, indem Du das Modal nur einmal definierst und die variablen Parameter mit Javascript einträgst:
    https://getbootstrap.com/docs/3.3/javascript/

    (nach whatever suchen)

  • Sempervivum


    Code
    $userId = $_SESSION["userId"];                $selectUsers_new = $dbv->prepare("SELECT username FROM users WHERE userId = :id");        $selectUsers_new->execute(array(':id' => $userId));                $allUsers_new = $selectUsers_new->fetch(PDO::FETCH_ASSOC);


    ist richtig?

  • Hey,


    Arne Drews : Dies ist kein Quatsch. Weist du denn wie das ganze System eigentlich aufgebaut ist? Ich meine nicht.


    Es gibt eine Session mit der User Id welche die Id des eingelogten Users besitzt. Dann gibt es noch die ganzen User IDS welchen den Buttons zugeordnet werden.


    Und wenn man auf ein Button klickt wird in die URL der Parameter Id = 0 angehongen. Somit hat man eine Value auf die man mittels GET zugreifen kann. Und diese Value besitzt die Id des angeklickten Userbuttons.

  • Ist drin


    //

    Ja genau. Weil die <UserID> als Value mitgegeben wird.


    Sprich 1 Modal für alle User.


    Deswegen habe ich dem Button auch die Value mit der UserID mitgegeben

  • Ich sags nochmal von vorne:


    Ich habe eine Tabelle in der meine Benutzer eingespeichert sind.


    Jeder Benutzer hat einen eigenen Button in diesem Fall "Löschen"


    Sobald ich bei einer X-Beliebigen Person auf "Löschen" drücke, gebe ich dem Button als "value" die "userId" des angeklickten Benutzers mit.



    Nun sollte sich ein "Modal" öffnen, in dem der Name des jeweils angeklickten Benutzers steht.

  • Zitat

    1 Modal für alle User.


    Deswegen habe ich dem Button auch die Value mit der UserID mitgegeben

    Da es nur ein Modal ist, habe ich wohl etwas grundsätzlich missverstanden. Dann muss natürlich der Wert des data-target immer gleich mit der ID des Modals sein.
    Allerdings verstehe ich nicht, wie über das value-Attribut der Inhalt des Modals dynamisch geändert werden soll? Ich würde eher empfehlen, das Verfahren einzusetzen, das hier beschrieben wird:
    https://getbootstrap.com/docs/3.3/javascript/

  • Hey,


    Arne Drews : Dies ist kein Quatsch. Weist du denn wie das ganze System eigentlich aufgebaut ist? Ich meine nicht.

    Sorry, so wie er das geschrieben hat, ist das nun mal doch Quatsch!

    Ob ihr über GET-Parameter geschrieben habt oder nicht, entzieht sich meiner Kenntnis. Ich kann nur das beantworten, was ich lese.


    Zitat von Stef

    Es gibt eine Session mit der User Id welche die Id des eingelogten Users besitzt.

    Jo: $_SESSION['userid'] oder wie der Key halt heißt.


    Zitat von Stef

    Dann gibt es noch die ganzen User IDS welchen den Buttons zugeordnet werden.

    Die sich idealer Weise in einem <form> befinden? Bei reinen <a> Tags ist es natürlich dann GET, sonst idealerweise POST.

    Man könnte das auch <form>los über pure <button> realisieren.


    Zitat von Stef

    Und wenn man auf ein Button klickt wird in die URL der Parameter Id = 0 angehongen. Somit hat man eine Value auf die man mittels GET zugreifen kann. Und diese Value besitzt die Id des angeklickten Userbuttons.

    Und da steckt der Gedankenfehler: Er hat einen Modal-Fetisch. Bei Modals hast Du zunächst mal keinen direkten Request, zumindest wenn man das Prinzip sinnvoll einsetzt. Ergo: kein GET-Parameter!


    Sein data-target macht prinzipiell schon Sinn, er verwendet das nur nicht korrekt.

  • Guten Morgen,


    Du hast in manchen Punkten recht.


    Das Modal wird ja ohne Seitenneuladung erstellt. Dann muss mann für dies JavaScript, Ajax verwenden damit es funktioniert.


    Folgender Prozess ergibt sich mir:

    1. Auf den Löschen Button ein Click-Event initialisieren
    2. Bei Click auf den Button wird die Value von Data-Target ausgelesen
    3. Diese Value wird dann an eine andere PHP-Datei gesendet.
    4. In dieser erfolgt dann die DB-Abfrage und die Ausgabe
    5. Im Hauptscript wird dies dann im Modal ausgegeben.

    Grüße,

    Stef

  • So ähnlich würde ich das auch sehen. Allerdings glaube ich, dass das Modal nur eine Sicherheitsabfrage á la "Sind Sie sich sicher?" sein soll. Dann benötigt man für den Content des Modal nicht mal AJAX. Der Löschprozess könnte dann auch ohne AJAX durchgeführt werden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!