Autor Zpráva
andrej54
Profil
Zdravim.
Poradi niekto ?

V adresari /Data mozu byt subory 1.txt 2.txt ..... x.txt, alebo len niektore, alebo ani jeden.
Ako najjednoduchsie zistim, ci tam nie je ani jeden???

Suvisi to s chybou:
Notice: Undefined variable: id in c:\inet_srv\http\doc_root\diskusia\diskuse.php on line 40
Neviem co to $id vlastne je ......

if ($id==""){
$fpip = "data/promena.txt";
$openip = FOpen ($fpip, "r");
$readip = fread ($openip, filesize ($fpip));
fclose ($openip);
for ($i = 1; $i <= $readip; $i++):
$fpid = "data/$i.txt";
$openid = FOpen ($fpid, "r");
.
.
.

Ked som nadeklaroval na zaciatku skriptu:
$id = 0;
tak mi program prestal fungovat ....

Vdaka
andrej54
[/b][b][b][/b]
ernesto
Profil *
o jaký PHP se jedná?
k
Profil *
file_exists();
andrej54
Profil
Je to PHP verzie 4.2.3.
Neviem co to $id vlastne je ......

Komplet zdrojak:

<html>
<head>
<style>
A:link {FONT-SIZE: 12px; COLOR: #003399; TEXT-DECORATION: none}
A:visited {FONT-SIZE: 12px; COLOR: #003399; TEXT-DECORATION: none}
A:active {FONT-SIZE: 12px; COLOR: red}; TEXT-DECORATION: none}
A:hover {FONT-SIZE: 12px; COLOR: red; TEXT-DECORATION: blink}
.nadpis {FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: black; FONT-FAMILY: Arial}
.podnadpis {FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: BLACK; FONT-FAMILY: Arial}
.zprava {FONT-SIZE: 13px; COLOR: Black; FONT-FAMILY: Arial}
.odpoved {FONT-SIZE: 12px; COLOR: Black; FONT-FAMILY: Arial}
</style>
</head>
<body>
<table border="0" width="500" style="border: 1 solid #000000" cellspacing="0" cellpadding="0">
<tr>
<td width="2" bgcolor="#C0C0C0" style="border-bottom: 1 solid #000000" height="13" class="nadpis">
<p class="nadpis">&nbsp;</p>
</td>
<td width="496" bgcolor="#C0C0C0" style="border-bottom: 1 solid #000000" colspan="3" height="13" class="nadpis">
<b>Diskusia</b>
</td>
</tr>
<tr>
<td width="2" bgcolor="#C0C0C0" style="border-bottom: 1 solid #000000" height="6" class="podnadpis">
&nbsp;&nbsp;
</td>
<td width="281" bgcolor="#C0C0C0" style="border-bottom: 1 solid #000000" height="6" class="podnadpis">
<b>Názov</b>
</td>
<td width="119" bgcolor="#C0C0C0" style="border-bottom: 1 solid #000000" height="6" class="podnadpis">
<b>Autor</b>
</td>
<td width="97" bgcolor="#C0C0C0" style="border-bottom: 1 solid #000000" height="6" class="podnadpis">
<b>Dátum</b>
</td>
</tr>
<?

if ($id==""){
$fpip = "data/promena.txt";
$openip = FOpen ($fpip, "r");
$readip = fread ($openip, filesize ($fpip));
fclose ($openip);
for ($i = 1; $i <= $readip; $i++):
$fpid = "data/$i.txt";
$openid = FOpen ($fpid, "r");
$readid = fread ($openid, filesize ($fpid));
$zobrazid = explode ("|", $readid);
echo "$zobrazid[1]";
fclose ($openid);
endfor;
echo " <tr>
<td width=\"2\" bgcolor=\"#C0C0C0\" class=\"odpoved\" height=\"4\" style=\"border-top: 1 solid #000000\">&nbsp;</td>
<td width=\"277\" bgcolor=\"#C0C0C0\" class=\"odpoved\" height=\"4\" style=\"border-top: 1 solid #000000\">
<p align=\"left\">&nbsp;<a href=\"new.php\">založiť novú diskusiu</a> </td>
<td width=\"214\" bgcolor=\"#C0C0C0\" class=\"odpoved\" height=\"4\" colspan=\"2\" style=\"border-top: 1 solid #000000\">&nbsp; </td>
</tr>";
}else{
$fp = "data/$id.txt";
$open = FOpen ($fp, "r");
$read = fread ($open, filesize ($fp));
$zobraz = explode ("|", $read);
echo "$zobraz[2]";
echo " <tr>
<td width=\"2\" bgcolor=\"#C0C0C0\" class=\"odpoved\" height=\"4\" style=\"border-top: 1 solid #000000\">&nbsp;</td>
<td width=\"277\" bgcolor=\"#C0C0C0\" class=\"odpoved\" height=\"4\" style=\"border-top: 1 solid #000000\">
<p align=\"right\"><a href=\"diskuse.php\">naspäť na hlavnú stranu</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href=\"new.php\">založiť novú diskusiu</a> </td>
<td width=\"214\" bgcolor=\"#C0C0C0\" class=\"odpoved\" height=\"4\" colspan=\"2\" style=\"border-top: 1 solid #000000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href=\"re.php?id=$id\">odpovedať na príspevok</a> </td>
</tr>";
fclose ($open);
}
?>
</table>
</body>
</html>



a dalsi: kde to id zase je:

<?
$fp = "data/$id.txt";
$open = FOpen ($fp, "r");
$read = fread ($open, filesize ($fp));
$zobraz = explode ("|", $read);
?>
<html>
<head>
<style>
A:link {FONT-SIZE: 12px; COLOR: #003399; TEXT-DECORATION: none}
A:visited {FONT-SIZE: 12px; COLOR: #003399; TEXT-DECORATION: none}
A:active {FONT-SIZE: 12px; COLOR: red}; TEXT-DECORATION: none}
A:hover {FONT-SIZE: 12px; COLOR: red; TEXT-DECORATION: blink}
.nadpis {FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: black; FONT-FAMILY: Arial}
.podnadpis {FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: BLACK; FONT-FAMILY: Arial}
.zprava {FONT-SIZE: 13px; COLOR: Black; FONT-FAMILY: Arial}
.odpoved {FONT-SIZE: 12px; COLOR: Black; FONT-FAMILY: Arial}
</style>
<title></title>
</head>

<body>
<SCRIPT LANGUAGE="JavaScript"><!--
function zkontroluj(formular)
{
if (formular.jmeno.value=="")
{
alert("Musíte vyplniť meno!");
formular.jmeno.focus();
return false;
}
else if (formular.podnazev.value=="")
{
alert("Musíte vyplniť názov!");
formular.podnazev.focus();
return false;
}
/*else if (formular.email.value=="")
{
alert("Musíte vyplnit email!");
formular.email.focus();
return false;
}*/
else if (formular.text.value=="")
{
alert("Musíte vyplniť text!");
formular.text.focus();
return false;
}
/*else if (window.RegExp)
{
re = new RegExp("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$");
if (!re.test(formular.email.value))
{
alert("Špatně zadaný e-mail!");
formular.email.focus();
return false;
}*/
}
else
return true;
}
// -->
</SCRIPT>
<form method="POST" action="savere.php?id=<? echo"$id"; ?>" onSubmit="return zkontroluj(this)">
<table border="0" width="500" style="border: 1 solid #000000" cellspacing="0" cellpadding="0" height="72">
<tr>
<td width="2" bgcolor="#C0C0C0" style="border-bottom: 1 solid #000000" height="17" class="nadpis">
<p class="nadpis">&nbsp;</p>
</td>
<td width="496" bgcolor="#C0C0C0" style="border-bottom: 1 solid #000000" colspan="3" height="17" class="nadpis">
<b>Diskuse</b>
</td>
</tr>
<tr>
<td width="2" bgcolor="#E6E6E6" class="zprava" style="border-bottom: 1 solid #808080" height="16">
<p class="zprava">&nbsp;</p>
</td>
<td width="281" bgcolor="#E6E6E6" class="zprava" style="border-bottom: 1 solid #808080" height="16">
Odpovědět na "<? echo "$zobraz[0]"; ?>"
</td>
<td width="118" bgcolor="#E6E6E6" class="odpoved" style="border-bottom: 1 solid #808080" height="16">&nbsp;</td>
<td width="97" bgcolor="#E6E6E6" class="odpoved" style="border-bottom: 1 solid #808080" height="16">&nbsp;</td>
</tr>
<tr>
<td width="2" bgcolor="#FFFFFF" class="odpoved" height="27">&nbsp;</td>
<td width="496" bgcolor="#FFFFFF" class="odpoved" height="27" colspan="3">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="13%" class="zprava" valign="top">Meno:</td>
<td width="87%" class="zprava"><input type="text" name="jmeno" size="13" style="font-family: Arial; font-size: 10pt; background-color: #FFFFFF; border: 1 solid #000000"></td>
</tr>
<tr>
<td width="13%" class="zprava" valign="top">E-mail:</td>
<td width="87%" class="zprava"><input type="text" name="email" size="13" style="font-family: Arial; font-size: 10pt; background-color: #FFFFFF; border: 1 solid #000000"></td>
</tr>
<tr>
<td width="13%" class="zprava" valign="top">Názov:</td>
<td width="87%" class="zprava"><input type="text" name="podnazev" size="40" style="font-family: Arial; font-size: 10pt; background-color: #FFFFFF; border: 1 solid #000000"></td>
</tr>
<tr
ernesto
Profil *
no ... sem myslel že je to jen v pětce, ale manuál tvrdí, že od 4.3.0, což by snad mělo stačit
takže bych doporučil:

$array=glob("*.txt");

no a teď máš v proměnný $array všechny názvy souborů v adresáři v kterým stojíš, který mají extenzi .txt
ernesto
Profil *
lol, o vteřinu
tak to $id je buď poslaný $_GETem (a je zapnuty register_globals), nebo se ze souboru promena.txt načte počet příspěvků (asi je to nějakej guestbook) a zobrazí se všechny soubory - inkrementuje se $i a postupně se všechny otevřou a zobrazí
takže pokud de o tu notice tak

if ($id==""){

nahraď

if (isset($_GET['id'] && $_GET['id']) {

a notice zmizí
ernesto
Profil *
teda sory, sem to ale zmatkař

if ($id==""){
$fpip = "data/promena.txt";
$openip = FOpen ($fpip, "r");
$readip = fread ($openip, filesize ($fpip));
fclose ($openip);
for ($i = 1; $i <= $readip; $i++):
$fpid = "data/$i.txt";
$openid = FOpen ($fpid, "r");

nahraď

if (!(isset($_GET['id'] && $_GET['id'])){
$fpip = "data/promena.txt";
$openip = FOpen ($fpip, "r");
$readip = fread ($openip, filesize ($fpip));
fclose ($openip);
for ($i = 1; $i <= $readip; $i++):
$fpid = "data/$i.txt";
$openid = FOpen ($fpid, "r");

a potom

}else{
$fp = "data/$id.txt";

za

}else{
$i=$_GET['id'];
$fp = "data/$i.txt";
k
Profil *
na zacatek odou kodu dej:
if(array_key_exists('id',$_GET)){
$id=$_GET['id'];
}else{
$id=1;} // naky cislo
ernesto
Profil *
k
na zacatek odou kodu dej:
if(array_key_exists('id',$_GET)){
$id=$_GET['id'];
}else{
$id=1;} // naky cislo

a vždzckz se ti yobrayí první příspěvek :)
ernesto
Profil *
sorY Za ty překlepy, sem lama a koukam při psaní na klávesnici
k
Profil *
ernesto
Hm, mas pravdu. Ono taky cert aby se vyznal v ty zmeti "ip" :)
ernesto
Profil *
pro mě je to takz trochu exotika, guesbook, nebo tak něco, sem nikdy nedělal s textovejma souborama, snad se s tim andrej popere
Toto téma je uzamčeno. Odpověď nelze zaslat.

0