tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
271
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    peter333 peter333 ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    147
    Hallo zusammen.

    Ich habe ein Problem und ich weiß nicht, wie und womit ich es lösen kann. Ich denke aber, dass es mit Java lösbar ist.
    Ich habe einen HTML Button und wenn ich auf diesen klicke soll ein PHP Script im Hintergrund ausgeführt werden. Jedoch soll im Vorderdrung keine neue Seite geladen werden.

    <input type="button" value="Schaltfläche" name="B3" >

    We würde der Code aussehen der die Fragezeichen oben ersetzt, wenn das PHP script "../mein_php.php" heißt?

    Danke und lieben Gruß
    Peter
     

  2. #2
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    mit Ajax ist dein Vorhaben realisierbar. Erst gestern hatten wir einen Thread, der sich damit beschäftigt hat.

    Etwas allgemeiner - ein Openbook.

    Ansonsten - wenn es nur darum geht, ein PHP-Script anzustossen, ohne dessen Antwort zu benötigen, könntest du es auch über ein Bildobjekt realisieren.
    Code :
    1
    2
    
    var objImg = new Image();
    objImg.src = "../mein_php.php?" + new Date().getTime();
    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  3. #3
    BillaBong BillaBong ist offline Mitglied Brokat
    Registriert seit
    Sep 2003
    Ort
    zu Hause
    Beiträge
    262
    also es ist eigentlich recht einfach. Du brauchst drei Dateien.

    1. PHP Seite mit deinem Button ( Anzeige.php )
    2. javascript datei die dir den Ajax krimskram macht und die php datei ausführt ( Ajax.js )
    3. die PHP Datei die ausgeführt werden soll ( Ausfuehr.php )

    1. PHP/Button/HTML ( Anzeige.php )

    PHP-Code:
    <html>
       <
    body>

    <!-- include 
    der javascript Datei -->
    <
    script language="JavaScript" type="text/javascript" src="./Ajax.js"></script>

    <script>
    function AjaxAufruf(){
    // Aufruf der function aus der Ajax.js datei
              Request;
       }
    </script>

    <button onclick="AjaxAufruf">Go PHP Background</button>

       </body>
    </html> 
    2. so nun die ( Ajax.js )

    PHP-Code:
    // das hier nicht verändern einfach so hinnehmen *GG*
    function createXMLHttpRequest() {
    var 
    ua;

    if(
    window.XMLHttpRequest) {
        try {
          
    ua = new XMLHttpRequest();
        } catch(
    e) {
          
    ua false;
        }
      } else if(
    window.ActiveXObject) {

        try {
          
    ua = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(
    e) {
          
    ua false;
        }
      }
      return 
    ua;
    }

    //Request für php Abfrage
    var req createXMLHttpRequest();

    //Diese function wird in der Anzeige.php in der function aufgerufen hier drauf achten das //kein () hinter dem aufruf steht
    function Request() {


    //führt die Datei Ausführ.php aus wenn du noch werte übergeben musst kannst du die mit //? und & ganz normal an den req.open pfad anhängen z.b.
    //req.open('get','./Ausfuehr.php?wert1=hallo&wert2=test');

      
    req.open('get''./Ausfuehr.php');
      
    req.onreadystatechange handleResponse;
      
    req.send(null);

    }

    function 
    handleResponse() {
    //Wenn du jetzt noch eine Ausgabe von Ausführ.php benötigst kannst du dir die 
    //in deiner Anzeige.php in einem <div id="Ausgabe"></div> ausgeben lassen.

        
    document.getElementById('Ausgabe').innerHTML req.responseText;

    3. so und hier kommt die ( Ausfuehr.php ) hier kannst du dein code ausführen.

    PHP-Code:
    //get beispiel von oben 

    echo $_GET['wert1']; // Ausgabe wäre hallo
    echo $_GET['wert2']; // Ausgabe wäre test

    $rechnen 12;
    echo 
    $rechnen
    wenn noch fragen sind oder was nicht funktioniert weil ich das gerade aus dem kopf ungetestet runtergetippt habe dann meld dich einfach nochmal ansonsten hoffe ich ich konnte dir helfen.
     

  4. #4
    peter333 peter333 ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    147
    Danke. Das ist schon sehr hilfreich. Eine Frage habe ich noch. Kann ich nun bei diesem Klicken auf den Button eine Variable von Anzeige.php an Ausfuehr.php per POST übergeben, so das in Ausfuehr.php mit der Variable gearbeitet wird, wenn man auf den Button klickt? Das wäre jetzt mein letztes Problem.

    LG Peter
     

  5. #5
    Rambomaster Rambomaster ist offline Mitglied Silber
    Registriert seit
    Feb 2007
    Beiträge
    74
    Jo klar geht das

    Parameter per GET:
    PHP-Code:
    function Request() {
      
    req.open('get''./Ausfuehr.php?wert1=hallo&wert2=test');
      
    req.onreadystatechange handleResponse;
      
    req.send(null);

    Parameter per POST:
    PHP-Code:
    function Request() {
      
    req.open('post''./Ausfuehr.php');
      
    req.setRequestHeader("Content-Type""application/x-www-form-urlencoded");
      
    req.onreadystatechange handleResponse;
      
    req.send('wert1=hallo&wert2=test');

    Und in PHP kannst du dann einfach per $_POST['wert1'] auf den Wert zugreifen.
     

  6. #6
    peter333 peter333 ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    147
    Hallo nochmal,

    danke mal wieder für die gute Antwort.
    Werden dann alle PHP Variablen aus der Anzeig.php an Ausfuehr.php übermittelt oder welche Variablen werden dann gesendet? Müssen die Variablen vielleicht an einer bestimmten Stelle in der Anzeig.php stehen? Sorry wenn ich ein bisschen blöd frage, aber mit AJAX hatte ich bis lang nicht viel zu tun.
     

  7. #7
    Rambomaster Rambomaster ist offline Mitglied Silber
    Registriert seit
    Feb 2007
    Beiträge
    74
    Es werden nur die Variablen übermittelt die du in die Parameter einträgst.

    Ein Beispiel:
    Anzeig.php
    Du hast 2 Javascript Variablen.
    PHP-Code:
    var hallo "Hallo";
    var 
    welt "Welt!"
    Diese kannst du per GET oder POST über AJAX an die Ausfuehr.php übergeben
    PHP-Code:
    // GET
    req.open('get''./Ausfuehr.php?wert1='hallo +'&wert2='welt);

    // POST
    req.open('post''./Ausfuehr.php');
    req.send('wert1='hallo +'&wert2='welt); 
    Ausfuehr.php:
    Diese 2 Variablen kannst du dann so ausgeben
    PHP-Code:
    // GET
    echo $_GET['wert1']." ".$_GET['wert2']; // Ausgabe: Hallo Welt!
    // POST
    echo $_POST['wert1']." ".$_POST['wert2']; // Ausgabe: Hallo Welt! 
    Das sind natürlich alles nur Codeschnipsel und kein kompletter Code.
     

Ähnliche Themen

  1. Button Befehl an die Db senden
    Von AppleSeed im Forum .NET Datenverwaltung
    Antworten: 3
    Letzter Beitrag: 18.09.07, 10:43
  2. SQL/PHP-Befehl per Button
    Von vsitor im Forum PHP
    Antworten: 7
    Letzter Beitrag: 06.05.06, 12:58
  3. Button nach bestimmter Zeit Aktion durchführen lassen
    Von Raetsel im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 05.04.05, 23:54
  4. onmouseover an bestimmter Position in einem Bild
    Von tansamalaja im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 09.05.04, 00:26
  5. Der Befehl <button> in Opera
    Von santange im Forum HTML & XHTML
    Antworten: 9
    Letzter Beitrag: 18.02.04, 17:02