Obsah fóra www.hojko.com
Cvaknito.sk
Hľadať  •  FAQ  •  IP  •  Zoznam užívateľov  •  Karma  •  Závisláci  •  Registrácia
 Prihlásiť sa pre kontrolu súkromných správ  •  Prihlásenie






Flashový guestbook s PHP ukladaním do TXT súboru
Odoslať novú tému   Odpovedať na tému    Obsah fóra www.hojko.com -> Programovanie  
 Moje príspevky :: Zobraziť predchádzajúcu tému :: Zobraziť nasledujúcu tému  
Autor Správa
JurijRubanov
Light Star
Light Star


Pohlavie: Pohlavie:Muž
Stav: Odhlásený
Založený: 01.09.2006
Príspevky: 256
Bydlisko: Prievidza
Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 01 Sep 2006, 12:41    Predmet: Flashový guestbook s PHP ukladaním do TXT súboru Odpovedať s citátom  

Pri programovaní knihy návštev (lepšie povedané, až po jej publikovaní) som prišiel k anomálii. Nakopíroval som ju komplet na dva serveri podporujúce PHP. Avšak kniha fungovala iba na jednom z nich, konkrétne na "host.sk". Na "szm.sk", a ako som neskôr zistil, ale aj na niektorých iných serveroch kniha nefungovala (grafické rozhranie sa načítalo, avšak samotné záznamy nie). Teraz neviem, či je chyba v nastavení servera, alebo v nekompatibilite môjho PHP skriptu. Samotný skript bol súčasťou templatu a upravoval som ho len miniálne.

Kód:
http://www.pd-streets.szm.sk/test/

Kód:
http://www.zakladka.host.sk/test/


Kód:
<?php
        $Name = $Name;
        $Email = $Email;
        $Comments = $Comments;

        $Website = $Website;
        $Website = $Website;

        $Name = stripslashes($Name);
        $Email = stripslashes($Email);
        $Website = stripslashes($Website);
        $Comments = stripslashes($Comments);
   $medzera="  ";

if ($Submit == "Yes") {
        $filename = "GuestBook.txt";

        $fp = fopen( $filename,"r");
        $OldData = fread($fp, 80000);
        fclose( $fp );

        $Today = (date ("d.m.Y (H:i:s)",time()));

        $Input = "<b>Meno:</b> $Name $medzera <b>Kedy:</b> $Today $medzera <b>Website: </b><a href=\"http://$Website\" target=\"_blank\"><u>$Website</u></a><br><b>Predmet: </b>$Email <br><b>Odkaz: </b>$Comments<br><br>.:::.";

        $New = "$Input$OldData";

        $fp = fopen( $filename,"w+");
        fwrite($fp, $New, 80000);
        fclose( $fp );
}

        $filename = "GuestBook.txt";


        $fp = fopen( $filename,"r");
        $Data = fread($fp, 80000);
        fclose( $fp );

        $DataArray = split (".:::.", $Data);

        $NumEntries = count($DataArray) - 1;

        print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&GuestBook=";
        for ($n = $NumLow; $n < $NumHigh; $n++) {
        print $DataArray[$n];
        }
       
?>



guest.zip
 Popis:
komplet zbalený guestbook (fla, swf, html, txt, php)

Stiahnúť
 Názov súboru:  guest.zip
 Veľkosť prílohy:  41.14 kB
 Stiahnutí:  51 krát

Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu Zobraziť autorove WWW stránky
Slayter
Light Professional
Light Professional


Pohlavie: Pohlavie:Muž
Stav: Odhlásený
Založený: 28.01.2006
Príspevky: 992
Bydlisko: Bratislava; Vek: 17
Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 01 Sep 2006, 12:55    Predmet: Odpovedať s citátom  

pokiaľ kniha funguje na serveri "host.sk" bezproblemovo, nebude podla mna chyba v tvojom skripte ale v serveri "szm.sk".
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu Zobraziť autorove WWW stránky
IgiPoP
Medium Star
Medium Star


Pohlavie: Pohlavie:Muž
Stav: Odhlásený
Založený: 12.09.2005
Príspevky: 448
Bydlisko: MT
Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 01 Sep 2006, 13:50    Predmet: Re: Flashový guestbook s PHP ukladaním do TXT súboru Odpovedať s citátom  

riesenie je jednoduche a nejde o chybu servera. praveze by som povedal, ze host.sk ma chybu na serveri.
v konfiguracii PHPcka sa nastavuje "register_globals". defaultne je nastaveny na hodnotu "On", ale je to dost nebezpecne. z toho celeho vyplyva, ze host.sk ju ma nastavenu na "On" a szm.sk na "Off".
ked je "On", tak php automaticky vytvori a naplni premenne pod takym menom ako boli POSTnute prostrednictvom formularu na server. ked je "Off" tak nevytvori.

riesenie:
Kód:
<?php
        $Name = $_POST['Name'];
        $Email = $_POST['Email'];
        $Comments = $_POST['Comments'];
        $Website = $_POST['Website'];

        $NumLow = $_GET['NumLow'];
        $NumHigh = $_GET['NumHigh'];

        $Name = stripslashes($Name);
        $Email = stripslashes($Email);
        $Website = stripslashes($Website);
        $Comments = stripslashes($Comments);
   $medzera="  ";

if ($Submit == "Yes") {
        $filename = "GuestBook.txt";

        $fp = fopen( $filename,"r");
        $OldData = fread($fp, 80000);
        fclose( $fp );

        $Today = (date ("d.m.Y (H:i:s)",time()));

        $Input = "<b>Meno:</b> $Name $medzera <b>Kedy:</b> $Today $medzera <b>Website: </b><a href=\"http://$Website\" target=\"_blank\"><u>$Website</u></a><br><b>Predmet: </b>$Email <br><b>Odkaz: </b>$Comments<br><br>.:::.";

        $New = "$Input$OldData";

        $fp = fopen( $filename,"w+");
        fwrite($fp, $New, 80000);
        fclose( $fp );
}

        $filename = "GuestBook.txt";


        $fp = fopen( $filename,"r");
        $Data = fread($fp, 80000);
        fclose( $fp );

        $DataArray = split (".:::.", $Data);

        $NumEntries = count($DataArray) - 1;

        print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&GuestBook=";
        for ($n = $NumLow; $n < $NumHigh; $n++) {
        print $DataArray[$n];
        }
       
?>


takto by to malo fungovat, ak som zabudol na nejaku premennu, tak ju dopln rovnakym sposobom.

good luck.
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu
zupanok
Medium Star
Medium Star



Stav: Odhlásený
Založený: 19.12.2005
Príspevky: 314
Bydlisko: MT
Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 01 Sep 2006, 18:01    Predmet: Odpovedať s citátom  

z názvu stránky mi je jasné, že sa jedná o FREEHOSTING na SZM.SK
freehosting na szm.sk je BEZ podpory PHP,
podporu php poskytujú až od plateného hostingu BONUS PLUS (60Sk/mes.)
inak je pravda to s register_globals, čo tu bolo písané, avšak málo mu pomôže na szm. sk freehostingu,
okrem iného píšu to vo svojej ponuke, každý si to môže prečítať, prv než sa k tomu vyjadrí, a okrem toho tiež mám na szm.sk svoje stránky na freehostingu, a kvôli php som musel prejsť na iný hosting
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu
JurijRubanov
Light Star
Light Star


Pohlavie: Pohlavie:Muž
Stav: Odhlásený
Založený: 01.09.2006
Príspevky: 256
Bydlisko: Prievidza
Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 01 Sep 2006, 20:57    Predmet: Odpovedať s citátom  

Ono som samotny guestbook hodil na szm iba na demonstraciu problemu. Ten vsak pretrvava aj po nepouzivani globalnych premennych na serveri plne podporujucom PHP (avsak s vypnutym nastavenim register_globals). Preto by som Vas chcel poziadat este raz o radu, ktora sa tyka mojho problemu (kedze okolo PHP som sa zacal motat asi iba pred tyzdnom). Netreba nejaky ten script zmenit aj v samotnok flashi? Pretoze samotna uprava PHP nezabrala. Taktiez atributy su nastavene na 777, takze vskutku netusim, co som este mohol v tomto skriptiku dovrzat.
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu Zobraziť autorove WWW stránky
IgiPoP
Medium Star
Medium Star


Pohlavie: Pohlavie:Muž
Stav: Odhlásený
Založený: 12.09.2005
Príspevky: 448
Bydlisko: MT
Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 02 Sep 2006, 17:58    Predmet: Odpovedať s citátom  

teraz uz by to malo byt funkcne
//testovane na localhoste s PHP5
Kód:
<?php
$filename = "GuestBook.txt";

$Name = $_POST['Name'];
$Email = $_POST['Email'];
$Comments = $_POST['Comments'];
$Website = $_POST['Website'];
$Submit = $_POST['Submit'];
     
$NumLow =  (isSet($_GET['NumLow']))?$_GET['NumLow']:$_POST['NumLow'];
$NumHigh = (isSet($_GET['NumHigh']))?$_GET['NumHigh']:$_POST['NumHigh'];

$Name = stripslashes($Name);
$Email = stripslashes($Email);
$Website = stripslashes($Website);
$Comments = stripslashes($Comments);
       
$medzera="  ";

if ($Submit == "Yes")
{
  if( file_exists($filename) )
  {
    $fp = fopen( $filename,"r");
    while (!feof($fp)) {
      $OldData .= fread($fp, 1024);
    }
    fclose( $fp );
  }
  else
    $OldData = "";

  $Today = date("d.m.Y (H:i:s)");

  $Input = "<b>Meno:</b> $Name $medzera <b>Kedy:</b> $Today $medzera <b>Website: </b><a href=\"http://$Website\" target=\"_blank\"><u>$Website</u></a><br><b>Predmet: </b>$Email <br><b>Odkaz: </b>$Comments<br><br>.:::.";
  $New = $Input.$OldData;

  $fp = fopen( $filename,"w+");
  fwrite($fp, $New);
  fclose( $fp );
}
if( file_exists($filename) )
{
  $fp = fopen( $filename,"r");
  while (!feof($fp)) {
    $Data .= fread($fp, 1024);
  }
  fclose( $fp );

  $DataArray = explode(".:::.", $Data);
  $NumEntries = count($DataArray)-1;

  for ($n = $NumLow; $n < $NumHigh; $n++) {
    $Book.= $DataArray[$n];
  }
}
print "&TotalEntries=".((isset($NumEntries))?$NumEntries:0)."&NumLow=".$NumLow."&NumHigh=".$NumHigh."&GuestBook=".((isset($Book))?$Book:"");       
?>


good luck.
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    Časy uvádzané v GMT + 1 hodina
Odoslať novú tému   Odpovedať na tému    Obsah fóra www.hojko.com -> Programovanie
Strana 1 z 1

 
Prejdi na:  
Nemôžete odosielať nové témy do tohto fóra
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre
Nemôžete hlasovať v tomto fóre
Nemôžete pripájať súbory do tohto fóra
Môžete sťahovať súbory v tomto fóre


Powered by phpBB © 2005 phpBB Group, phpBB SEO, © Hojko 2004-2008

[ Vygenerované za: 0.1s ] :: [ 18 Queries ] :: [ 18,973 stránok za dnes ] :: [ Dnes DB: 323,298 ] :: [ Max DB: 2,334,336 Queries ]