Ankündigung

Einklappen
Keine Ankündigung bisher.

Funktionsaufsaufruf über <a href...>

Einklappen

Neue Werbung 2019

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

  • Funktionsaufsaufruf über <a href...>

    Hallo, mich würde interessieren, ob es eine gängige Lösung ist, Funktionen indirekt über <a href..> aufzureufen, d.h. parameterübergabe auf einen neue Seite und dann da die Weiterverarbeitung mit einer Funktion. Dann kann man eben auch von außen sehr leicht auf den Servervorgänge (z.b. msql-query) zugreifen, was eben nicht sehr positiv ist.
    Danke!

    edit: oder aus Sicherheitgründen einen hash-Wert der id z.B. mit $_GET übertragen

  • #2
    Ich verstehe garnichts. Funktionsaufrufe gehören nicht in href="", da KÖNNEN sie auch garnicht rein bei PHP.
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

    Kommentar


    • #3
      Was meinst du mit "Funktionen über <a href..> aufrufen"? PHP-Funktionen kann man nicht einfach so aufrufen, das Weiterleiten an andere Seiten mit irgenwelchen Paramatern ist natürlich gängige Praxis - das ist ja quasi der Input.

      Kommentar


      • #4
        das würde ich STARK davon abhängig machen, welche Aufgaben die Funktion erfüllen soll.

        Eine Suche oder aber eine Abfrage bestimmter Werte (etwa aus einer Datenbank) macht durchaus Sinn - auch auf der Basis des Htt-protokoll's - eben ein GET-Request

        Umgekehrt würde ich eine schreibende Operation NICHT per GET = Link aufrufen, sondern durch POST. Im Rahmen einer Formularverarbeitung

        Damit entgehst du auch vielen Problemen, wenn deine Webseite etwa von Google oder anderen Index-Seiten gecrawlet wird - wenn alles per Link funktioniert, dann hast du auf einmal Geister-Einträge in der Datenbank und ungewollte Löschungen. Da diese Crawler aber Nur Links folgen, sollte man schreibende und Lösch-Zugriffe eben nicht hinter Links packen
        [Quote=nikosch]
        So glatt kann doch wirklich keiner sein.[/quote] :roll:

        Kommentar


        • #5
          Danke für die Antworten!
          Naja, es geht schon um DELETE-Anweisungen. Ich habe eben eine Reihe von Einträgen in einer Liste, die ich gerne löschen möchte, ohne aber dass man einen "umständliche" Submit-Button betätigen muss, die Idee war eben ein Link am Ende eines jeden Listenpunktes eben zum Löschen des Eintrages

          Kommentar


          • #6
            Ein submitbutton muss doch nicht umständlich sein, nimm statt nem Submitbutton nen Bild und hänge mit hidden-Feldern die benötigten Informationen mit an. Dann fällt dem normalen User gar nicht auf, das das rote Löschkreuz ein Formular war, was er absendet.
            Mit PHP kommt es ja auf selbe raus, ob du jetzt nen Link ausgibst oder gleich nen ganzes Formular.
            [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
            [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

            Kommentar


            • #7
              Was ist ein "umständlicher" Submit-Button?

              <button type="submit">Klick mich</button>

              Der Button selbst ist doch in wenigen Sekunden geschrieben.

              Wenn mehrere Felder gelöscht werden sollen, kann man diese mit Checkboxen markieren.


              Wenn es dir darum geht, das man einfach "Dies löschen" klickt und im HINTERGRUND gelöscht wird, ohne das man mehrere Sekunden des erneuten Seitenaufbaus warten muss, dann muss man das über AJAX-Requests lösen.

              Informiere ich über RESTful (http://de.wikipedia.org/wiki/Represe...State_Transfer) und baue dir eine PHP die mit den nötigen Daten (man ist mindestens eingeloggt, hat die Rechte und es ist eine korrekte tabellen_id übergeben) ein löschen ausführt. Ein AJAX-Request ruft diesen dann auf, erwartet eine Antwort (z.B. Success!) und gibt diese dann, wenn nötig, aus.

              Wichtig sind die Fälle falls man z.B. nicht eingeloggt ist, dann darf man unter keinen Umständen löschen dürfen!

              Gruß
              Spiegel Funktion Live: https://www.youtube.com/watch?v=JI3Df7-KFtw

              Kommentar


              • #8
                super, danke zorndyuke!

                Kommentar


                • #9
                  P.S.:
                  Mit umständlichen Submit-Buttons meine ich eben das was dran hängt,
                  ich geb folgenden Code zunächst aus:

                  PHP-Code:
                  <?php
                  if($_GET['sort'] == 'date') {
                      
                  $db = new DB;
                      
                  $db->fetch_data_by_date();
                        echo 
                  '<form method="get" action="'">';
                      foreach(
                  $db->get_string() as $field => $array){
                            echo '<h3>'.
                  $field.'</h3><br/><ul>';
                            foreach(
                  $array as $key => $array){
                                echo '<li>';
                               foreach(
                  $array as $key => $value){
                                  if(
                  $key == 0){
                                   echo '<b>'.
                  $value.'</b>&nbsp;';
                                  }
                                  if(
                  $key == 1){
                                     echo '<i>'.
                  $value.'</i>';
                                  }
                                 if(
                  $key == 2){
                                    echo '<br/><input type="
                  submit" name="oeffnen" value="&Ouml;ffnen"/>';
                               
                                  }
                                 if(
                  $key == 3){
                                   echo '&nbsp;<input type="
                  submit" name="loeschen" value="L&ouml;schen"/> ';
                                  
                                  }
                               }
                              echo '</li>';
                        }
                        echo '<br/></ul>';
                        }

                  }

                  echo '</form>';
                  Wie kann ich die Werte für das öffnen der Datei (pdf.Datei) oder das löschen übergebe?
                  Ich muss das ja irgenwie über das form-Tag (mit action) bewerkstelligen?
                  Viele Dank

                  Kommentar

                  Lädt...
                  X