tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
2481
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von newwarrior
    newwarrior newwarrior ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Ort
    Holzdorf
    Beiträge
    168
    Hallo,

    ich habe ein kleines Messagecenter.
    Dort können User Nachrichten makieren.
    Dazu müssen Sie einfach nur auf eine Flage klicken, und dann soll die Mail ID mit JS & AJAX & jQuery übergeben werden, und dann in einem PHP Script, der Eintrag in der DB geändert werden.
    Wenn das erfolgreich geschehen ist, dann soll der Div neugeladen werden.
    Das letzte ist kein Problem, auch eine Variable an eine JS Funktion zu übergeben, doch, wie kann ich jetzt mit AJAX & jQuery, die Variable weiter an das PHP Script leiten ohne das die Seite neu geladen wird?

    Danke
     

  2. #2
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.960
    jQuery hat doch so eine schöne Dokumentation, dass man schon beim Überfliegen der Seite das hier gefunden hätte:
    Code JavaScript:
    1
    2
    3
    4
    
    $.post("test.php", { name: "John", time: "2pm" },
       function(data){
         alert("Data Loaded: " + data);
       });
    Dabei sind folgendes die übergebenen Variablen:
    Code JavaScript:
    1
    2
    
    /* Variablenname: Wert [, ...] */
    { name: "John", time: "2pm" }
    Und in data sind die von dem PHP-Skript ausgegeben Daten drin.

    Nachzulesen hier: jQuery.post()
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  3. #3
    Avatar von newwarrior
    newwarrior newwarrior ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Ort
    Holzdorf
    Beiträge
    168
    Also ich habe mal folgendes versucht:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    <script>
                  function flag_mail()
                  {
                    $.get("../../scripts/server.php", { flag_mail: "true", mail_id: "'.$mails_data->mail_id.'"});
                  } 
                </script>
    <img src="http://www.tutorials.de/img/mainpage/flag_off.png" alt="flag" onclick="flag_mail();"/>&nbsp;

    Die Server.php sieht dann so aus:

    PHP-Code:
    if(isset($_GET['flag_mail']) AND $_GET['flag_mail'] == true)
    {


        
    $sql_mail 'UPDATE user_mail SET mail_flaged = "1" WHERE mail_id "'.$_GET['mail_id'].'"';
        
    mysql_query($sql_mail) OR die(mysql_error());

    Aber es passiert rein gar nichts
     

  4. #4
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.960
    Der kann dir doch auch nichts ausgeben, wenn du a) nicht den veränderten Text lädst und b) diesen dann nicht ausgibst (beispielsweise mit echo oder print).
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  5. #5
    Avatar von newwarrior
    newwarrior newwarrior ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Ort
    Holzdorf
    Beiträge
    168
    Er ändert nichts in der DB, ich habe danach die DB geschaut und auch einen refresh der Seite gemacht.
     

  6. #6
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.960
    Schau doch erstmal, ob die Aktualisierung durchgeführt wird, wenn du das Skript direkt aufrufst, also so in etwa:
    server.php?flag_mail=true&mail_id=x (x muss durch die entsprechende ID ersetzt werden)

    Außerdem funktioniert das hier auch nicht:
    Code :
    1
    2
    3
    4
    5
    6
    
    <script>[FONT=monospace]
    [/FONT]function flag_mail(){[FONT=monospace]
        [/FONT]$.get("../../scripts/server.php", { flag_mail: "true", mail_id: "[COLOR=Red][B]'.$mails_data->mail_id.'[/B][/COLOR]"});[FONT=monospace]
    [/FONT]}[FONT=monospace]
    [/FONT]</script>[FONT=monospace]
    [/FONT]<img src="http://www.tutorials.de/img/mainpage/flag_off.png" alt="flag" onclick="flag_mail();"/>
    Ansonsten gibt es auch noch einen Unterschied zwischen "true" und true, denn das erste ist eine Zeichenkette, dass zweite ein boolscher Wert.
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  7. #7
    Avatar von newwarrior
    newwarrior newwarrior ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Ort
    Holzdorf
    Beiträge
    168
    Was du oben ansprichts, wegen:

    '.$mails_data->mail_id.'

    das wird durch php eingetragen, das ganze Script steht eigentlich in einer PHP Schleife.
    Ich habe alles versucht, ich habe das mit true angepasst und auch direkt den Link angepasst, hat nichts gebracht.
    Dann habe ich ihn ohne JS ausgefürht, also oben direkt in die Zeile eingeben, da hat er die DB Werte geändert.
    Nur wenn ich es so machen will:

    Code :
    1
    2
    3
    4
    5
    6
    
    <script>
                  function flag_mail()
                  {
                    $.get("tpl/scripts/server.php?flag_mail=true&mail_id=7", { flag_mail: "true", mail_id: "'.$mails_data->mail_id.'"});
                  } 
                </script>

    passiert rein gar nichts
     

  8. #8
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.960
    Falls das Verzeichnis tpl im Wurzelverzeichnis liegt, dann solltest du davor noch einen Schrägstrich einfügen, so dass das Ganze so aussieht:
    Code JavaScript:
    1
    2
    3
    4
    5
    
    <script>
    function flag_mail() {
        $.get("/tpl/scripts/server.php?flag_mail=true&mail_id=7", { flag_mail: "true", mail_id: "'.$mails_data->mail_id.'"});
    }
    </script>

    PS: Warum hängst du eigentlich die Parameter an die Datei an, wenn du sie außerdem noch als Parameter in der Funktion übergibst?
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  9. #9
    Avatar von newwarrior
    newwarrior newwarrior ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Ort
    Holzdorf
    Beiträge
    168
    Problem gelöst.
    Ich habe den JS Teil in den Headbereich gepackt, dann habe ich die Funktion ein wenig verändert:

    Code :
    1
    2
    3
    
    function flag_mail(mail_id) {
        $.get("tpl/scripts/server.php", { flag_mail: "true", mail_id: +mail_id});
    }

    Und nun klappt es.
    Danke für deine Hilfe.

    Keine Ahnung warum ich es mir so schwer gemacht habe.

    Gruß

    NW
     

Ähnliche Themen

  1. URL per LINK übergeben (Mit Ajax und JQuery)
    Von RoterEstilete im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 08.12.10, 23:27
  2. jQuery Variable übergeben?
    Von lisali im Forum Javascript & Ajax
    Antworten: 20
    Letzter Beitrag: 12.06.10, 12:03
  3. Variable an Funktion übergeben, welche AJAX response bearbeitet
    Von Kai-Behncke im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 18.02.09, 20:24
  4. Variable übergeben von Ajax nach php
    Von jemont im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 14.09.07, 07:43
  5. Variable per POST mit Ajax übergeben
    Von soa im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 22.03.07, 16:57