kostenloser Webspace werbefrei: lima-city


Problem mit ajax

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    goldschau

    goldschau hat kostenlosen Webspace.

    Morgen,
    Ich hoffe das ich hier im richtigen forum gelandet bin. Vorweg ich habe mich noch nicht viel mit ajax beschäftigt und hoffe das ihr mir mal kurz helfen könnt ich habe folgeden script:
    function savelayout(){
    var positions = "";
    var yindex = 0;
    var uid ="<?php echo $uid ?>";
    alert(uid);
    
    $(".portlet").each(function(){yindex++;positions+=(this.id + "=" + this.parentNode.id + "|" + yindex + "&");});
    $.ajax({
    type: "POST",
    url: "savelayout.php",
    data: positions,
    });
    }

    Dieser übergbit wie man sieht die poitions an savelayout.php nun möchte ich aber zusätzlich zu den positions noch die uid übergeben ich weiss aber nicht ob ich diese einfach hinter data mit hinzufügen kann bzw wie. Ich habe es schon folgener maßen versucht:
    data: positions+uid
    Ich habe allerdings die uid auf savelayout.php nicht empfangen. Kann man die uid wie normal in php einfach mit:
    $uid=$_POST[uid]
    abrufen oder muss man da irgendetwas beachten ich hoffe ihr versteht mein Problem und könnt mir helfen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. g******r

    hm, ....... :confused::confused::confused::-o:-o:-o:-o:-o:-o:-o:-o

    So in deiner seite einfügen ......... bin nicht sicher?
    function savelayout
    var positions =name11;
    var yindex = 0;
    var uid ="<?php echo suid ?>";
    alert(uid);
    
    suid(".portlet").each(function(){yindex++;positions+=(this.id + "=" + this.parentNode.id + "|" + yindex + "&");});
    $.ajax({
    type: "POST",
    url: "savelayout.php",
    data: positions,
    });
    }


    und die code muss die richtige beschriftung haben
    (weiss ich nicht)

    es wird dir sicher ein experte zu hilfe kommen.....



    gatterer
  4. Autor dieses Themas

    goldschau

    goldschau hat kostenlosen Webspace.

    Morgen,
    ich habe jetzt diesen code von dir mal genommen aber irgendwie kann ich die variable immer noch nicht auf savelayout empfangen bzw auslesen ich habe es wieder so probiert:
    $uid=$_POST[uid]

    Ich hoffe es kann mir jemand bei mein Problem helfen
  5. Sers,

    wenn du schon Jquery nutzt versuch doch mal die wirklich ausführliche Dokumentation von denen zu lesen: http://docs.jquery.com/Ajax/jQuery.post#urldatacallbacktype

    Da steht z.B. für das versenden mehrerer Parameter:

    $.post("test.php", { name: "John", time: "2pm" } );


    Außerdem sieht dein Code komplizierter aus als er sein müsste, glaube ich.

    Grüsse
    Color
  6. Autor dieses Themas

    goldschau

    goldschau hat kostenlosen Webspace.

    Hey
    danke für deine Antwort ich habe es zwar noch nicht ganz hinbekommen aber ich probiere weiter der code dient dazu um die postionen der boxen in deiner tabelle zu speichern, ich habe den code von hier:
    http://www.kadede.com/disenyoblog/?p=289
    Ich weiss nicht ob das auch einfacher geht aber das war das einzige was ich gefunden habe und hablwegs verstanden :biggrin:
  7. also bei jquery würde ich mich auch jedenfall auf dieser Seite umschauen:
    http://docs.jquery.com/Ajax/jQuery.post

    ansonsten würde ich:
    data: positions,

    in
    data: positions,uid

    umändern. Dürfte das problem denke ich lösen
  8. Autor dieses Themas

    goldschau

    goldschau hat kostenlosen Webspace.

    Wie ich gerade fetgestellt habe wird die id mit übergeben aber der fehler muss irgendwo in der savelayout.php liegen ic habe folgeden code:
    "dbconnect"
    	$uid=$_POST['name'];	
    	$varqty = count($_POST); // It counts how many info portlets are we passing
        $varnames = array_keys($_POST); // Obtains variable names
        $varvalues = array_values($_POST);// Obtains variable values;
    		$datei = fopen("counter.txt","r+");
    		$counterstand = fgets($datei, 10);
    		
    		   $counterstand=$uid;
    		   rewind($datei);
    		   fwrite($datei, $counterstand);
    	fclose($datei);
    	
        for($i=0;$i<$varqty;$i++){  // For each variable
        $semivalue = explode("|", $varvalues[$i]);  // We break it when  ‘|’ is found and saves it in $semivalur
        mysql_query("UPDATE layouts SET `column`='$semivalue[0]' WHERE `header`='$varnames[$i]' AND `user`='$uid'"); // Saves each portlet column belongness
        mysql_query("UPDATE layouts SET `yindex`='$semivalue[1]' WHERE `header`='$varnames[$i]' AND `user`='$uid'"); // Saves each portlet ‘yindex’
        }
        ?>

    dieser funktionierd nicht bzw wird der wert nicht an die tabelle übergeben wenn ich jetzt aber die uid festlege zb auf 2 also so:
    $uid=2;
    dann wird die änderung in die tabelle eingetragen komische sache die ich nicht versteh kann mir da vlt jemand helfen ?
    Hier nochmal der code von dem Post ich wiess der ist bisschen kompliziert aber hauptsache es funtzt erstmal:
    <script type="text/javascript">
    function savelayout(){
    var positions = "";
    var yindex = 0;
    var uid ="<?php echo $uid ?>";
    alert(uid);
    
    $(".portlet").each(function(){yindex++;positions+=(this.id + "=" + this.parentNode.id + "|" + yindex + "&");});
    $.ajax({
    type: "POST",
    url: "savelayout.php",
    data: positions,
    });
    data2: uid;
    $.post("savelayout.php", { name: uid,},
      function(data2){
        alert("Data Loaded: " + data2);
      });
    
    
    }
    </script>

    EDIT

    Die Daten werden jetzt sogar auf die Datenbank übertragen bzw bekomme ich ein true zurück aber die Datenbank ändert sich nicht
    folgender code
    <?php
    	$verbindung = mysql_connect("")
    	or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
    	mysql_select_db("") or die ("Datenbank konnte nicht ausgewählt werden");
    
    	$uid=$_POST['name'];	
    	$varqty = count($_POST); // It counts how many info portlets are we passing
        $varnames = array_keys($_POST); // Obtains variable names
        $varvalues = array_values($_POST);// Obtains variable values;
    		$datei = fopen("counter.txt","r+");
    		$counterstand = fgets($datei, 10);
    		
    		   $counterstand=$uid;
    		   rewind($datei);
    		   fwrite($datei, $counterstand);
    	fclose($datei);	
    	for($i=0;$i<$varqty;$i++){  // For each variable
        $semivalue = explode("|", $varvalues[$i]);  // We break it when  �|� is found and saves it in $semivalur
    	$eintragen="UPDATE layouts SET `column`='$semivalue[0]' WHERE `header`='$varnames[$i]' AND `user` LIKE $uid";
        $eintrag=mysql_query($eintragen); // Saves each portlet column belongness
    	$eintragen2="UPDATE layouts SET `yindex`='$semivalue[1]' WHERE `header`='$varnames[$i]' AND `user` LIKE $uid";
        $eintrag2=mysql_query($eintragen2); // Saves each portlet �yindex�
    	if($eintrag==true && $eintrag2==true)
    	{$test=t;}
    	else
    	{$test=f;}
    			$datei = fopen("eintrag.txt","r+");
    		$counterstand = fgets($datei, 10);
    		
    		   $counterstand=$test;
    		   rewind($datei);
    		   fwrite($datei, $counterstand);
    	fclose($datei);	
    
        }
        ?>


    Beitrag zuletzt geändert: 21.9.2009 15:23:03 von goldschau
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!