Ankündigung

Einklappen
Keine Ankündigung bisher.

Lösch-Bestätigung mit confirm

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Lösch-Bestätigung mit confirm

    Hallo Liebe PHP-Leute,



    ich habe eine reine PHP-Datei. In dieser Datei kann der Nutzer ein Symbol (=Link) anklicken, das dazu führt, dass ein Eintrag gelöscht wird. Nun würde ich gerne eine Bestätigung einbauen, das aufpoppt, wenn der Nutzer auf das Deaktivieren-Symbol (=Link) klickt und ihn fragt, ob er den Eintrag wirklich löschen will. Wenn er dann auf ja klickt, dann soll der Eintrag gelöscht werden, d.h. der Link ausgeführt werden und wenn nicht, dann soll der Link natürlich nicht ausgeführt werden. So viel ich weiß, kann man das irgendwie mit JavaScript und der Funktion confirm() machen. Hab allerdings überhaupt keine Ahnung, wie ich das Script um diesen Link einbauen soll.



    Hier mal ein Auszug aus der PHP-Datei:



    PHP-Code:

    <?php

    ...

    foreach (
    $cycle_list as $event)

    {

    ...

    }

    if (
    $events_left 0)

    {

        
    $output[] = $free;

        
    $output[] = "";

    }

    else

    {

        
    $output[] = _("Compl. Training");

        
    //um den folgenden Link möchte ich confirm() einbauen

        
    $output[] = "#LINK;href=ka_a1_zyklus_list.php?del=".$cycle->id.";

    src=/einbahn.gif;alt=deactivate;title="
    ._("Deactivate Training");

    ...

    ?>


    Hoffe, dass das jetzt verständlich war und mir einer von den PHP-Fachleuten helfen kann JS in dieser PHP-Datei einzubetten.



    Hinweis: In dieser PHP-Datei befindet sich vor dem Anfangstag <?php und nach dem Endtag ?> keine weiteren Code-Zeilen mehr. D.h. darin ist auch kein HTML-Code.



    Vielen Dank schon mal im Voraus

  • #2
    Zunächst benötigst du einen Event-Handler, z.B. "onClick = 'return confDelete()' ". Die Funktion könnte so aussehen:
    PHP-Code:
    <script type="text/javascript">
    function 
    confDelete() {
        
    msg "Datensatz endgültig löschen?";
        return 
    confirm(msg);
    }
    </script> 
    Kaum macht man's richtig, schon geht's

    Kommentar


    • #3
      Hallo Nullraff,
      erst mal vielen Dank für Deine schnelle Antwort.

      Wohin soll ich den js-code einfügen? wenn ich einen html-tag in meine php-datei (also innerhalb von <?php ... ?> einfüge, dann zeigt mir Eclipse einen Fehler an. Daher funktioniert das auch nicht, wenn ich versuche mit onClick zu arbeiten.

      Hättest Du vielleicht dazu noch eine Lösung?
      Vielen Dank

      Kommentar


      • #4
        Den JS-Code musst du ausserhalb der PHP-Tags einfügen.
        Kaum macht man's richtig, schon geht's

        Kommentar


        • #5
          vll sollte man erwähnen, dass Google jedem Link folgt, wenn man es ihm nicht verbietet, und dabei Javascript ignoriert. Gab schon Fälle, da hat Google oder eine andere Suchmaschine ganze Datenbestände gelöscht, wegen sowas

          Das Javascript kommt dahin, wo es immer hinkommt: im head-Bereich der Seite. Wenn du damit Probleme hast, sieh dich mal hier in den Stickies um, da gibts genug Links zu Grundlagenthemen

          Kommentar


          • #6
            Bitte beachten: http://www.php.de/php-einsteiger/ann..._Multipostings

            http://www.php-resource.de/forum/php...t-confirm.html

            *close*
            Edit: Ausnahmsweise re-open auf Bitte des Thread-Erstellers, der die Diskussion lieber hier fortsetzen möchte.
            [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

            Kommentar


            • #7
              Zitat von Nullraff Beitrag anzeigen
              Den JS-Code musst du ausserhalb der PHP-Tags einfügen.
              Hallo Nullraff,
              danke noch mal. Ich habe es jetzt mal so gelöst:
              PHP-Code:
              <script type="text/javascript"> 
              function confDelete() { 
                  msg = "Datensatz endgültig löschen?"; 
                  return confirm(msg); 

              </script> 

              <?php
              ...
              $output[] = "#LINK;href=ka_a1_zyklus_list.php?del=".$cycle->id.";onClick 
              = 'return confDelete()';src=/design/images/einbahn.gif;alt=deactivate;height=
              16;title="
              ._("Deactivate Training");
              ...
              ?>

              Hat sich aber leider nichts getan


              @zwutz:
              Ich weiß, dass ein JS im Head-Teil einer HTML gehört. Mein Problem ist allerdings, dass eigentlich nichts auf HTML sondern alles in PHP geschrieben ist. Wie oben geschrieben fängt die Datei mit <?php an und endet mit ?>
              D.h. diese Datei fängt nicht wie gewöhnlich mit <html>...<head>...</head>...<body>...<?php> usw. an! Daher kann ich auch kein HTML-Tag wie z.B. <a href... onClick=...> in diese Datei einfügen.

              Trotzdem vielen Dank

              Kommentar


              • #8
                PHP-Code:
                <?php
                ...
                ?>
                <a href="...">...</a>
                <?php

                ...
                ?>
                Nur eine von vielen Möglichkeiten

                Kommentar


                • #9
                  Hallo Karl Egon,

                  ich benötige aber die onClick-Funktion innerhalb von PHP. Also im PHP-Code befindet sich ein Link und beim Anklicken dieses Links möchte ich, dass eine Lösch-Besätigung aufpoppt. D.h. ich muss irgenetwas um den folgenden PHP-Code bauen:
                  PHP-Code:
                  $output[] = "#LINK;href=ka_a1_zyklus_list.php?del=".$cycle->id.";
                  src=/design/images/einbahn.gif;alt=deactivate;height= 
                  16;title="
                  ._("Deactivate Training"); 
                  Vielen Dank

                  Kommentar


                  • #10
                    Für weitere Antworten dazu wäre ich Euch sehr dankbar

                    lg
                    ingeraj

                    Kommentar


                    • #11
                      Hallo Liebe PHP-Fachleute!

                      Ich habe nun herausgefunden, wie ich ein JavaScript in PHP reinbekomme und zwar mit $gui->addScript("function x...");

                      Nun habe ich aber immer noch das Problem, dass ich dieses Script so aufrufen möchte, sodass beim Anklicken eines Bildes zunächst abgefragt wird, ob er löschen soll oder nicht. Und wenn ja, dann soll er einen Link mit del-Anweisung ausführen.

                      Habe hier folgenden Code:

                      PHP-Code:
                      $output[] = "#LINK;href=ka_a1_zyklus_list.php?del=".$cycle-
                      >
                      id.";src=/design/images/einbahn.gif;alt=deactivate;height=16;title="._
                      ("Deactivate Training"); 
                      Und hier mein JavaScript im PHP:
                      PHP-Code:
                      $gui->addScript("
                           function Bestätigung()
                           {
                                return confirm('Möchten Sie wirklich das Training deaktivieren?');
                           }        

                      "
                      ); 
                      1. Wie kann ich nun den oberen PHP-Code umändern, sodass ich die Funktion Bestätigung() aufrufen kann, nachdem ich auf das Bild src=/design/images/einbahn.gif geklickt habe.
                      2. Wie kann ich dann nach dem Aufruf von Bestätigung() und wenn der User Ja angeklickt hat, den Löschvorgang (#LINK;href=ka_a1_zyklus_list.php?del=".$cycle->id) ausführen lassen?

                      Zur Info: Das Bild muss in einem Array (output[]) erscheinen.

                      Habe versucht onClick = 'Bestätigung'; im oberen Code einzubauen, aber dann ist die Syntax falsch. (Habe auch "Bestätigung" versucht)
                      Und wenn ich den Link im JavaScript mit einer if-Anweisung reinschreibe, dann zeigt der Browser in der Statusleiste "Fehler" an.

                      Hoffentlich kann mir einer helfen
                      Danke

                      Kommentar


                      • #12
                        Woher kommt diese Syntax? Framework? TemplateSystem?

                        Kommentar


                        • #13
                          Habe leider keine Ahnung.

                          Kommentar


                          • #14
                            Dann solltest du das vielleicht mal herausfinden, deswegen kann dir auch keiner so wirklich helfen

                            Edit:
                            So vielleicht
                            PHP-Code:
                            $output[] = "#LINK;href=ka_a1_zyklus_list.php?del=".$cycle-
                            >
                            id.";onClick=Bestätigung();src=/design/images/einbahn.gif;alt=deactivate;height=16;title="._
                            ("Deactivate Training"); 

                            Kommentar


                            • #15
                              Danke KarlEgon.
                              Jetzt stimmt zwar die Syntax aber leider macht er jetzt nichts mehr. Also er löscht/deaktiviert jetzt nicht mehr und die Funktion Bestätigung hat er auch nicht aufgerufen
                              Trotzdem vielen Dank für Deine Hilfe

                              Kommentar

                              Lädt...
                              X