Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] php-function in javascript-function

Einklappen

Neue Werbung 2019

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

  • [Erledigt] php-function in javascript-function

    Hallo,

    wiedermal ein Problem mit javascript.

    Ich habe mehrere scripte in einer datei zusammengefasst und lasse die functions in mehrere dateien per include einfügen.

    selectpopup.php
    PHP-Code:
    <?php
    $objid
    =$_GET['object'];
    /*
    function delobj($objid){
    $query1=sprintf("DELETE FROM %s WHERE objid='$objid'", ($table1));
    $query2=sprintf("DELETE FROM %s WHERE objid='$objid'", ($table2));
    $query3=sprintf("DELETE FROM %s WHERE objid='$objid'", ($table3));
    $query4=sprintf("DELETE FROM %s WHERE objid='$objid'", ($table4));
    $result1=mysql_query($query1) or die (mysql_error().'
    Query: '.$query1);
    $result2=mysql_query($query2) or die (mysql_error().'
    Query: '.$query2);
    $result3=mysql_query($query3) or die (mysql_error().'
    Query: '.$query3);
    $result4=mysql_query($query4) or die (mysql_error().'
    Query: '.$query4);
    echo "<SCRIPT TYPE='text/javascript'>self.reload();</SCRIPT>";
    }*/
    ?>
    <SCRIPT type="text/javascript">
    function newobj() {
        window.open('obj/new.php?sid=<?=$sid;?>','','height=555px,width=650px,left=150,top=150,scrollbars=yes');
    }

    function viewobj(objectid)
    {
        window.open('obj/view.php?sid=<?=$sid;?>&object='+objectid,'','height=500px,width=550px,left=200,top=200,scrollbars=yes');
    }

    function changeobj(objectid) {
        window.open('obj/change.php?sid=<?=$sid;?>&object='+objectid,'','height=555px,width=650px,left=200,top=200,scrollbars=yes');
    }

    function deleteobj() {
        if(confirm('Wollen Sie dieses Objekt wirklich löschen?')==true){<? //delobj($objid); ?>}
    }
    </SCRIPT>
    ?>
    Diese Datei soll entsprechend per aufruf ein Popup öffnen, indem die Daten des Objekts dargestellt werden.
    Das funktioniert auch, bis auf die function deleteobj().
    Bei dieser möchte ich nach Bestätigung des confirm einige sql-aufrufe ausführen.
    Das Problem ist, das das script diese nicht ausführt und als bonus noch alle anderen javascript blockiert.
    Das ist eigenartig, da ich in den anderen javascript-functions ebenfalls php-komponenten eingefügt habe und diese laufen einwandfrei.

    Kann mir bitte jemand helfen?


  • #2
    Du scheinst die grundlagen von php nicht verstanden zu haben.

    Php wird auf dem server ausgeführt, js aufm client. Wenn js an die reihe kommt, ist php längst fertig.

    bei deinem script wird die funktion einfach aufgerufen, wenn php die datei parst. Php kann ja nicht wissen, dass das javascript ist, was du da schreibst. Es gibt keine möglichkeiten, php etwas machen zu lassen, ohne dass du eine anfrage an den server schickst. Also musst du wohl oder über ein formular machen, dass bei gebrauch abgesendet wird und ein phpscript aufruft, dass deine funktion ausführt.

    Kommentar


    • #3
      So hatte ich es auch erst.
      Der Verweis auf die php-function war erst ein link auf eine datei, in der die befehle ausgeführt wurden.

      Mal ne andere frage. Gibts ne möglichkeit fenster hinter dem hauptfenster zu öffnen? Dann könnte ich die löschfunktion dahinter öffnen und schließen lassen, und kaum einer kriegs optisch mit.

      Kommentar


      • #4
        nnet sich auch popdown. Wenn du dich darauf verlassen willst, dass der user js anhat und keine popups / popdowns blockt, klar geht das. Einfach ein popup öffnen und dann auf das eigentliche fenster focus() anwenden.

        Kommentar


        • #5
          Danke.

          Es ist ein Projekt, das in meiner Firma im Intranet läuft, daher kann ich mit sicherheit sagen, das javascript aktiv ist.

          Kommentar


          • #6
            IMHO sollte man auf das "Verstecken" des Popups/Popdowns verzichten. Sowas dürfte den (misstrauischen) User eher verwirren ...

            Einfach ein popup öffnen und dann auf das eigentliche fenster focus() anwenden.
            Vorher sollte man wohl erstmal Position u. ggf. Größe des öffnenden Fensters ermitteln, um das Popup entsprechend dahinter pappen zu können. Ist der "opener" nicht maximiert, ist mit "Verstecken" sonst nix.
            ToolsTool - Online (SEO-)Tools im Browser gleichzeitig starten ...

            Kommentar


            • #7
              Das ist egal, ob man es dahinter sieht oder nicht, oder wie gross es ist, denn es soll nur nicht das Hauptfenster verdecken. Mehr nicht, daher das popdown.

              Kommentar

              Lädt...
              X