Meddelande

Minska
No announcement yet.

kolla efter nya meddelande utan siduppdatering?

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • #16
    Ingen längre, provade koden och fick felmeddelande direkt om att metoden aldrig avslutas.
    "det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck

    Kommentera


    • #17
      jaha ok , det är ganska konstigt att min server ger inga felmeddelande.. men hur som helst så såg jag att funkade jsbin och jag har exakt samma koder men ett problem har uppstått att sidan anropar page.php i ett annat sida tex ...page.php?name=pm så vi kanske bör uppdatera utan att anropa ett specifikt file .

      ps: jag tror att min server har bannat mig ,för att nå min hemsida måste jag använda proxy, jag ska fixa det, återkommer lite senare

      Kommentera


      • #18
        Servern kan bara generera ett fel och det vid ajax anropet, men det är felaktig JS struktur så säger webbläsaren till att det är fel (de flesta webbläsare har en konsol/felkonsol)

        vad få du för html kod när du besöker page.php direkt?
        "det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck

        Kommentera


        • #19
          Får en känsla att det är echo som saknas, vi har varit inne på det här förut jag och Vagann.

          Om du skriver PHP och du vill att något ska visas på sidan så måste du använda dig av echo.

          PHP-kod:
          $str "Hello world!";
          echo 
          $str
          (Finns lite andra varianter också men det får du läsa om här.)

          Samma sak gäller när du använder dig av ajax, skriv dina php script precis som vanligt, det som ska visas för användaren måste ekas (echo) ut helt enkelt.

          Jag antar att det här INTE är hela PHP koden, MEN om det skulle vara det så skulle det räcka med ett lite echo $newpm längst ner.

          PHP-kod:
          $newpm_sql mysql_query("SELECT `id` FROM `pm` WHERE `to` = '"$_SESSION['id'] ."' AND `status` = '0'") or die(mysql_error());
          if (
          mysql_num_rows($newpm_sql) >= 1)
          $newpm ' <b>('mysql_num_rows($newpm_sql) .')</b>'; }
          else
          $newpm ''; } 

          echo 
          $newpm
          Så skulle $newpm; matas ut på sidan och det kommer tillbaka till function(data).

          Och beror det inte på detta så fortsätter vi felsökningen, men du får kanske visa mer av php koden, för ajax scriptet är ju i sin ordning.
          Det är inte farten som dödar, det är smällen!
          Och nu på engelska:
          It aint the fart that kills, it's the smell!

          Kommentera


          • #20
            voigtann här är html koden
            Kod:
            <head>
            <meta name="keywords" content="" />
            <meta name="description" content="" />
            <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
            <title>test </title>
            <link href="styles/snowglass/style.css" rel="stylesheet" type="text/css" media="screen" />
            <script  src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
            <script type="text/javascript">
            var checkForMessages = function() {
            	$.get("/page.php", function(data) {
            		$("#userbar").html(data);
            		check = setTimeout(checkForMessages, 6000);
            	});
            };
            var check = setTimeout(checkForMessages, 6000);
            </script>
            </head>
            säg till om du behöver hela html koden !

            stattin , jo det var hela php koden och jag använder mig redan av echo för att skriva ut antal meddelande men det som vi försöker göra här är att få antal meddelande att uppdatera sig utan siduppdatering.... just nu är det så att användaren måste uppdatera sidan (f5) för att antal meddelande ska också uppdateras

            Kommentera


            • #21
              men /page.php får bara retunera det som #userbar blocket skall få för text.
              "det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck

              Kommentera


              • #22
                joo det sant , men jag ser inte hur javascript koden är kopplad till php koden
                Kod:
                var checkForMessages = function() {
                	$.get("/page.php", function(data) {
                		$("#userbar").html(data);
                		check = setTimeout(checkForMessages, 6000);
                	});
                };
                var check = setTimeout(checkForMessages, 6000);
                ser ingen "$newpm_sql" nånstans, och detta är alllt jag använder som javascript för att uppdatera , jag kanske borde ha "$newpm_sql" istället för "data"?

                Kommentera


                • #23
                  [kod]men jag ser inte hur javascript koden är kopplad till php koden [/kod]Du skämtar där hoppas jag? det är ju $.get gör, den hämtar HTML/datan ifrån /get varje 6 sekund och stoppa in datan du få tillbaka in i #userbar

                  Så om /page.php ser ut:
                  [kod]<b>1000</b>[/kod] i HTML koden så är det vad data är i function(data)

                  Javascript har absolut ingen aning om vad PHP variabler har för värden

                  Mitt råd är:
                  ladda ner firefox + firebug
                  chrome

                  och kolla deras webbutvecklings verktyg för att se vad som händer på din sida. och hur ajax anropen körs och vad som retuneras.
                  "det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck

                  Kommentera


                  • #24
                    Ok så då är det inte echo det hänger på

                    PHP-kod:

                    //Osäker men måste inte $newpm deklareras eller vad det heter
                    $newpm "";

                    $newpm_sql mysql_query("SELECT `id` FROM `pm` WHERE `to` = '"$_SESSION['id'] ."' AND `status` = '0'") or die(mysql_error()); 

                        if (
                    mysql_num_rows($newpm_sql) >= 1
                            {
                                
                    $newpm ' <b>('mysql_num_rows($newpm_sql) .')</b>';
                            } 
                        else 
                            {
                                
                    $newpm '';
                            }  

                    echo 
                    $newpm
                    Har du något element med id som userbar då?
                    exempel
                    <div id="userbar"></div>
                    Annars vet ju inte $("#userbar").html(data); vart datan ska skrivas ut.

                    HTML-kod:
                    <head>
                    <meta name="keywords" content="" />
                    <meta name="description" content="" />
                    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
                    <title>test </title>
                    <link href="styles/snowglass/style.css" rel="stylesheet" type="text/css" media="screen" />
                    <script  src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
                    </head>
                    <body>
                    
                    <div id="userbar"></div>
                    
                    <script type="text/javascript">
                    var checkForMessages = function() {
                    	$.get("/page.php", function(data) {
                    		$("#userbar").html(data);
                    		check = setTimeout(checkForMessages, 6000);
                    	});
                    };
                    var check = setTimeout(checkForMessages, 6000);
                    </script>
                    
                    </body>
                    Tänk på att jquery.com kan ligga nere om man har otur så det är bättre att ha jquery i en egen js fil.
                    Det är inte farten som dödar, det är smällen!
                    Och nu på engelska:
                    It aint the fart that kills, it's the smell!

                    Kommentera


                    • #25
                      stattin skrev: Visa inlägg
                      Tänk på att jquery.com kan ligga nere om man har otur så det är bättre att ha jquery i en egen js fil.
                      eller ännu bättre kör mot en cdn som google och kör en fallback på en lokal version av jquery:
                      [kod]<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

                      <script>window.jQuery || document.write('<scr' + 'ipt src="/js/jquery-1.7.2.min.js"><\/scr' + 'ipt>')</script>
                      [/kod]
                      "det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck

                      Kommentera


                      • #26
                        voigtann1 skrev: Visa inlägg
                        eller ännu bättre kör mot en cdn som google och kör en fallback på en lokal version av jquery:
                        [kod]<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

                        <script>window.jQuery || document.write('<scr' + 'ipt src="/js/jquery-1.7.2.min.js"><\/scr' + 'ipt>')</script>
                        [/kod]
                        Det är inte farten som dödar, det är smällen!
                        Och nu på engelska:
                        It aint the fart that kills, it's the smell!

                        Kommentera


                        • #27
                          jag är säker på att det är ingen problem med php-koden , problemet är scripten göra sidan visar page.php med en annan php fil, tex om vi är nu på page.php?name=search (search.php)så visar sidan innehållet som finns i search.php men efter 6 sekunder så blandar sidan innehållet från search.php med page.php...jag till och med testade med att lägga scripten i body vilket är body.php i mitt fall

                          Kommentera


                          • #28
                            Det få du ju ange då. För skrifter hämtar all HTML data från servern och lägger in det i det block du har sagt, om du måste ha en querystring lägg in det.


                            Den kommer inte göra något annat än vad som står i JS filen.
                            "det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck

                            Kommentera


                            • #29
                              ojj missade ditt inlägg,men hur som helst... jag vet inte riktigt hur går till så skulle be väldigt tacksam om nån kunde visa ?

                              Kommentera


                              • #30
                                vilken url gå du till för att ge dig det rusultat du vill ha? Det är ju bara det som saknas, JS koden fungera
                                "det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck

                                Kommentera

                                Working...
                                X