|
|
|
| Autor |
Správa |
JurijRubanov Light Star


Pohlavie:  Stav:  Založený: 01.09.2006 Príspevky: 256 Bydlisko: Prievidza Karma: 
|
Zaslal: 01 Sep 2006, 12:41 Predmet: Flashový guestbook s PHP ukladaním do TXT súboru |
|
|
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];
}
?> |
| 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 |
|
 |
Slayter Light Professional


Pohlavie:  Stav:  Založený: 28.01.2006 Príspevky: 992 Bydlisko: Bratislava; Vek: 17 Karma: 
|
Zaslal: 01 Sep 2006, 12:55 Predmet: |
|
|
| pokiaľ kniha funguje na serveri "host.sk" bezproblemovo, nebude podla mna chyba v tvojom skripte ale v serveri "szm.sk".
|
|
| Návrat hore |
|
 |
IgiPoP Medium Star


Pohlavie:  Stav:  Založený: 12.09.2005 Príspevky: 448 Bydlisko: MT Karma: 
|
Zaslal: 01 Sep 2006, 13:50 Predmet: Re: Flashový guestbook s PHP ukladaním do TXT súboru |
|
|
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 |
|
 |
zupanok Medium Star

Stav:  Založený: 19.12.2005 Príspevky: 314 Bydlisko: MT Karma: 
|
Zaslal: 01 Sep 2006, 18:01 Predmet: |
|
|
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 |
|
 |
JurijRubanov Light Star


Pohlavie:  Stav:  Založený: 01.09.2006 Príspevky: 256 Bydlisko: Prievidza Karma: 
|
Zaslal: 01 Sep 2006, 20:57 Predmet: |
|
|
| 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 |
|
 |
IgiPoP Medium Star


Pohlavie:  Stav:  Založený: 12.09.2005 Príspevky: 448 Bydlisko: MT Karma: 
|
Zaslal: 02 Sep 2006, 17:58 Predmet: |
|
|
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 |
|
 |
|
|  |
|
|
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 ]
|