Autor Zpráva
kumar listr
Profil *
Dobrý den potřeboval bych nějáký skript který by vytvořil dva odlišné soubory jeden .inc a druhý .php. Na tej stránce kde by se to tvořilo (ty ostatní druhý dvě stránky) by byl jen formulář kde by se napsalo jak se ty stránky jmenujou. Tam by se naspsalo třeba zvířata a ten script by vytvořil soubory:
1. zvirata.php
2. zvirata.inc

V tom zvirata.inc by nebylo nic, ale v tom zvirata.php by bylo pár kodů scriptů:
<html>
<head>
náplň hlavičky
</head>
<body>
nápň stránky
<? include "zvrata.inc"; ?>
</body>
</html>


Přičemš jak je tam ten <? include "zvirata.inc"; ?> tak místo toho zvirata.inc by se vždycky generovalo to co se napslo v tom formuláři nahoře. Díky moc všem za pomoc.
TomášK
Profil
Řešit tento problém generováním souborů je drbání se levou rukou za pravým uchem - jde to i lépe, předávat si proměnné.

Vytvoř si stránku s následujícím kódem
<html>
<head>
náplň hlavičky
</head>
<body>
nápň stránky
<? include $_POST["stranka"].".inc"; ?>
</body>
</html>


Hodilo by se i ošetřit ten skript z hlediska bezpečnosti - kontrolovat, abys includoval jenom ty soubory, pro které to zamýšlíš.
kumar listr
Profil *
No jenomže to neřeší můj problém já to potřebuju tak jak sem to psal nahoře
tiso
Profil
kumar listr - čo za to?
kumar listr
Profil *
no že by dobrej pocti z toho že ste mi pomohli??

Jo a zkoušel sem si vyttvořit script na (aspoň) vytvoření stránky, ale nefunguje tady je:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Přidání stránky</title>
</head>
<body>
<?
$pridat = $_POST['pridat'];

if ($pridat!=""){ //provede se pokud není prázdná zpráva
$celek="<p>$pridat</p>";
$soubor = fopen ('$pridat.php','a+');//otevře soubor pro doplňování
fwrite ($soubor, $celek);//zapíše zprávu
fclose ($soubor); //zavře soubor
}
?>
<h1>Diskuse</h1>
<h2>Přidání zprávy</h2>
<form action="posli.php" method="post">
Zpráva: <input type="text" name="zprava"> <input type="submit" value="odeslat">
</form>
</body>
</html>
kumar listr
Profil *
teda:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Přidání stránky</title>
</head>
<body>
<?
$pridat = $_POST['pridat'];

if ($pridat!=""){ //provede se pokud není prázdná zpráva
$celek="<p>$pridat</p>";
$soubor = fopen ('$pridat.php','a+');//otevře soubor pro doplňování
fwrite ($soubor, $celek);//zapíše zprávu
fclose ($soubor); //zavře soubor
}
?>
<h1>Diskuse</h1>
<h2>Přidání zprávy</h2>
<form action="posli.php" method="post">
Zpráva: <input type="text" name="pridat"> <input type="submit" value="odeslat">
</form>
</body>
</html>
imploder
Profil
kumar listr
Asi nevíš, proč ti tvoření jména souboru podle proměnné nefunguje. Důvod je jednoduchý: v řetězcích se proměnné a escape sekvence interpretují jen pokud je řetězec zapsaný mezi "uvovovky", zatímco mezi 'apostrofy' ne. A ty máš proměnnou uvnitř řetězce mezi apostrofy:
$soubor = fopen ('$pridat.php','a+');


Můžeš to předělat na uvozovky, ale lepší (přehlednější) bude nedávat proměnnou do řetězce vůbec, jenom ji k němu připojit:
$soubor = fopen ($pridat.'.php', 'a+');

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: