• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

nach onclick-event -> php funtkion aufrufen

Werbung:
Also in dem Javascript Code auf deiner Seite findest du folgende Stelle:
HTML:
//Ort des Skriptes in dem die per GET übertragenen Daten verarbeitet werden sollen 	  url: "saveData.php",
Jetzt erstellst Du einfach eine solche "saveData.php" Datei und dort kannst Du dann deine Funktion einfügen. Für spezielle Interaktionen könnte man auch noch ein "saveData.php?do=something" oder so ähnlich hinzufügen, um das ganze etwas mehr zu differenzieren.
 
Wo genau liegt denn das Problem? Kommen in der Konsole Fehlermeldungen?
Hast du die jquery Bibliothek eingebunden?
 
Werbung:
Also in dem Javascript Code auf deiner Seite findest du folgende Stelle:
HTML:
//Ort des Skriptes in dem die per GET übertragenen Daten verarbeitet werden sollen       url: "saveData.php",
Jetzt erstellst Du einfach eine solche "saveData.php" Datei und dort kannst Du dann deine Funktion einfügen. Für spezielle Interaktionen könnte man auch noch ein "saveData.php?do=something" oder so ähnlich hinzufügen, um das ganze etwas mehr zu differenzieren.

also ich rufe mit onclick zu mbeispiel die function like() auf
dann <script type= .... javascript ...>
darein schreibe ich url:"iwas.php"
und dann wird die datei iwas.php aufgerufen???
muss der <script> -teil im header stehen?
 
Werbung:
Werbung:
Natürlich. In die aufgerufene PHP Datei gehört dann alles rein was mit PHP zu tun hat, ebenfalls deine Funktion.
 
aber in der geöffneten php datein kann ich doch dann eine php-funktion aufrufen oder?
Du meinst vielleicht das richtige, formulierst es aber falsch. Du kannst mit JS einen HTTP Request ausführen - ein Anfrage an den Server - dieser führt dazu, dass der Server eine PHP Datei ausführt. D.h. sie wird eingelsen, geparst, übersetzt und dann ausgeführt. Dabei werden zwar Dateien geöffnet, es hat aber nichts mit dem zu tun, was man gemeinhin unter "eine Datei öffnen" versteht. Du meinst, dass du mit einem Request, eine PHP Datei ausführst und dann in dem Programm, dass du geschrieben hast, eine Funktion aufrufen kannst. Das ist richtig.

Aber deine Formulierung ist ein Verkürzung, die den Sachverhalt nicht wieder gibt.

Du kannst mit einer Client(Browser) seitigen Anwendungen (JS) im Grunde nur einen Request auslösen. Das PHP Programm wird vom Server ausgeführt. Aber du kannst natürlich das Programm so schreiben, dass du mittels Parametern in der Request Anfrage, deine Anwendung steuern kannst. AJAX ist ein Schritt mehr, dort wird mit dem HTTPRequest Objekt, die Antwort ausgewertet.
 
Meine Struktur sieht jetzt so aus:
Mein Button + die Weiter leitung auf die php.Seite
HTML:
        <script type='text/javascript'>
            function like() 
            {
                url: = 'includes/functions.php?like_id=<?php echo $blog_id;?>';
            }
        </script>
        <form action="button.htm">
            <button name="like" type="button"
              value="like">
                <img src="./images/like.png" width="24" height="24" onclick="like()" alt="LIKE">
                <b>LIKE</b>
            </button>
        </form>

Auf der PHP.Seite die Funktion welche ausgefuhrt werden soll:
PHP:
if (isset($_GET['like_id']))
{
    echo "---in function<br>";
    $blog_id = sichern($_GET['like_id'], 1, 1);
    $abfrage1 = mysql_query("SELECT like FROM `blog` WHERE  blog_id = ".$blog_id);
    Fehler();
    $row1 = mysql_fetch_object($abfrage1);
    $akt_like = $row1->like;
    
    $neu_like = $akt_like + 1;
    mysql_query("UPDATE `blog` SET like=".$neu_like." WHERE blog_id = ".$blog_id);

}

Nach dem klicken des Buttons passier aber nichts!!
Ich hab das gefühl, dass die php datei noch nicht mal aufgerufen worden ist!
Und bitte nicht "verärgert" sein, so wie ich meine Code kenne, ist da bestimmt ein grober Fehler drin :)
 
Werbung:
PHP:
 <script type='text/javascript'>             function like()              {                 url: = 'includes/functions.php?like_id=<?php echo $blog_id;?>';             }         </script>

Was soll das sein? Von dem AJAX Request sieht man hier aber nix!?
HTML:
<head>
     <script type="text/javascript" src="pfad_zur_jquery_lib_datei.js"></script>
     <script type="text/javascript">
     $.ajax({        
         type: "GET",        
         url: "includes/functions.php",
         data: "like_id=<?php echo $blog_id;?>",         
         // cache: false,         
         success: function(html) {             
             // irgendwas machen wenn die Anfrage erfolgreich war                  
         }         
     });
    </script>
</head>
 
Mein php Code auf der "Haupt"-Seite
PHP:
            <button name="like" type="button"
              value="like">
                <img src="./images/like.png" width="24" height="24" onclick="like()" alt="LIKE">
                <b>LIKE</b>
            </button>
            <?php
                    $abfrage3 = mysql_query("SELECT * FROM `blog` WHERE blog_id=".$blog_id);
                    if($row3 = mysql_fetch_object($abfrage3))
                        {
                            $like_anzahl = $row3->like;
                        }
                        else
                        {
                            $like_anzahl = 0;
                        }
                    Echo "<i>".$like_anzahl." gefällt das!</i>";    
            ?>
Das im Header:
HTML:
    <script type="text/javascript" src="includes/starterkit/jquery.js"></script>
    <script type="text/javascript">
             $.ajax({        
                 type: "GET",        
                 url: "includes/functions.php",
                 data: "like_id=<?php echo $blog_id;?>",         
                 // cache: false,         
                 success: function(html) 
                 {             
                     alert("Funktion aufgerufen!");       
                 }         
             });
    </script>
iquery hab ich gedownloadet: das starterkit (der ordner befindet sich im ordern includes) und die iquery.js(befindet sich im ordner includes/starterkit)

Es passiert aber immer noch nichts
 
Und die Fehlerkonsole des Browsers ist leer?

Wenn du Firebug nutzt (Firefox-Add-on), kannst du im Net-Tab sehen, was dir Ajax-Requests zurückliefern.

Firebug zeigt ebenfalls JavaScript-Fehler an.
 
Werbung:
Mein php Code auf der "Haupt"-Seite
PHP:
            <button name="like" type="button"
              value="like">
                <img src="./images/like.png" width="24" height="24" onclick="like()" alt="LIKE">
                <b>LIKE</b>
            </button>
            <?php
                    $abfrage3 = mysql_query("SELECT * FROM `blog` WHERE blog_id=".$blog_id);
                    if($row3 = mysql_fetch_object($abfrage3))
                        {
                            $like_anzahl = $row3->like;
                        }
                        else
                        {
                            $like_anzahl = 0;
                        }
                    Echo "<i>".$like_anzahl." gefällt das!</i>";    
            ?>
Das im Header:
HTML:
    <script type="text/javascript" src="includes/starterkit/jquery.js"></script>
    <script type="text/javascript">
             $.ajax({        
                 type: "GET",        
                 url: "includes/functions.php",
                 data: "like_id=<?php echo $blog_id;?>",         
                 // cache: false,         
                 success: function(html) 
                 {             
                     alert("Funktion aufgerufen!");       
                 }         
             });
    </script>
iquery hab ich gedownloadet: das starterkit (der ordner befindet sich im ordern includes) und die iquery.js(befindet sich im ordner includes/starterkit)

Es passiert aber immer noch nichts

Die funktion like muss ja auch noch definiert werden, sprich:

PHP:
<script type="text/javascript">
function like()
{
    $.ajax({        
        type: "GET",        
        url: "includes/functions.php",
        data: "like_id=<?php echo $blog_id;?>",         
         // cache: false,         
         success: function(html) 
         {             
             alert("Funktion aufgerufen!");       
         }         
   });
    
}
</script>
 
Werbung:
es scheint so ,als ob noch noch nicht mal eine anfrage gemacht wird (Net - wird die url zu functions nicht augelistet)
 
Die Fehlerkonsole im Firefox ist 100% leer? Auch keine Warnungen?
Du testest das ganze auf einem (lokalen) Server?
 
Zurück
Oben