Új hozzászólás Aktív témák

  • Tomi_78
    aktív tag

    Értem.

    Azért nem írja ki, mert a $num változót az if szkópján belül deklarálod.
    Tegyél egy $num=0 értékadást az if elé, így elérhető lesz az ifen kívülről is.

    De ha rám hallgatsz, becsomagolod az egészet egy szamlal() függvénybe, ami elvégzi a kívánt műveletet, majd a végén visszaadja a $num értékét.

    Ezután csak meg kell hívnod a.függvényed ahol számlálni akarsz, esetedben a javascript tagon belül, és így nem kell aggódnod a változó szkópok miatt, és a globális névteret sem szennyezed be.

    Tényleg el kellene döntened, hogy user szintű vagy globális számlálót akarsz, mert a jelenlegi megvalósítás az egy globális számlálót valósít meg, és az összes usered ugyanazt a számlálót fogja növelni.

    Persze, ha ez egy látogató számláló akkor ez a kívánt viselkedés.

    Miért van szükséged javascriptre?
    Ezt az értéket simán kiírhatnád a bodyba is PHPvel.

    Bocsi a hiányzó formázásért, telefonról vagyok.

    Sajnos nem működik még, pedig adtam az if előtt kezdőértéket a $num-nak, meg függvényt is létrehoztam. Most a JS függvényen belüli PHP-zés nem tetszik valamiért a programnak. Így néz ki most a kódom:
    <html>
     <head>
      <title>Fájlkezelő</title>
     </head>
     <body>
      <script type="text/javascript">
      function szamlal() {
      <?php
       $File = 'adat.txt';     // A számláló file neve
       $num=0;
       if (file_exists($File))    // Létezik a file?
       {
        $fp = fopen($File,"r");              // Megnyitjuk olvasásra
        $num = fread($fp, filesize($File));  // Beolvassuk a tartalmát a $num változóba.
        fclose($fp);                         // Zárjuk a filet.
        $num=$num+1;                         // A változó értékét megnöveljük
        $fp = fopen($File,"w");              // Megnyitjuk ugyanazt a filet, de most írásra
        fwrite($fp, $num, 10);               // Kiírjuk a változó értékét.
        fclose($fp);                         // Zárjuk a fájlt
        return $num;
       }
      ?>
      };
      //<script type="text/javascript">
       valami = szamlal();//'<?php echo $num ?>'; //Ha elhagyom az idézőjeleket, UNEXPECTED TOKEN hiba lesz a konzolban, ha nem, akkor meg kiír mindent közte!!!
       alert(valami);
      </script>
     </body>
    </html>

Új hozzászólás Aktív témák