Autor | Zpráva | ||
---|---|---|---|
kumar listr Profil * |
#1 · Zasláno: 19. 4. 2009, 16:08:26
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 |
#2 · Zasláno: 19. 4. 2009, 16:27:08
Ř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 * |
#3 · Zasláno: 19. 4. 2009, 16:35:22
No jenomže to neřeší můj problém já to potřebuju tak jak sem to psal nahoře
|
||
tiso Profil |
#4 · Zasláno: 19. 4. 2009, 17:17:30
kumar listr - čo za to?
|
||
kumar listr Profil * |
#5 · Zasláno: 19. 4. 2009, 17:34:23
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 * |
#6 · Zasláno: 19. 4. 2009, 17:36:52
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 |
#7 · Zasláno: 19. 4. 2009, 17:58:11 · Upravil/a: imploder
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+'); |
||
Časová prodleva: 15 let
|
0