Vkládání php do php jde to – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vkládání php do php jde to – PHP – Fórum – Programujte.comVkládání php do php jde to – PHP – Fórum – Programujte.com

 

lubošx
~ Anonymní uživatel
2 příspěvky
20. 9. 2012   #1
-
0
-

AHOJ mám problém s automatickým vytvořením stránky pomoci php scriptu.Po vyplnění formuláře kde je název
stránky atd. si chci vytvořit stránku a do ní vložit několik php kódů které budou načítat obsah hlavičky
patičky......


V kostce níže ukážu kód jak bych to chtěl.
$obsah_stranky, je proměnná ve které mám zapsáno to co se musí zapsat do nově vytvořené stránky.Po uložení
proměnné do souboru (stránky) ,soubor zavřu a pak už mám stránku hotovou i s tím že v ní mám ty includy tak
funkční aby se opravdu načítaly ty patičky ,hlavičky .....v mém scriptu je nejspíš problém to že pochopitelně začíná
<?php a končí ?> ale já mám v proměnné $obsah_stranky další tyto značky a to si myslím že není v pořádku ,že to nějak narušuje celou strukturu kódu. otázka je jestli je v pořádku když mám sript <?php  <?php include..?> ?> ,mě to
připadá jako nějaké zvěrstvo co jsem vytvořil a pokud to je zvěrstvo tak jak to udělat aby se mi ve výsledku vytvořila
stránka ve které budu moci načítat hlavičku,patičku... diky include (nebo třeba file, nemusí to být nutně include)

 

<?php
//data z formuláře

if (isset($_POST['stranka'],$_POST['hlavninadpis'],$_POST['heslo'],$_POST['cislo'],$_POST['spam'],$_POST['textstranky'])&&$_POST['cislo']==$_POST['spam\']&&$_POST[\'heslo']==$_POST['drevo'] )

{
$stranka=$_POST['stranka'];
$heslo=$_POST['heslo'];
$cislo=$_POST['cislo'];
$spam=$_POST['spam'];
$textstranky=$_POST['textstranky'];
$hlavninadpis=$_POST['hlavninadpis'],

//tady bych chtěl vytvořit promennou $obsah_stranky do který zapíšu kostru vytvářené stránky
$obsah_stranky=' <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">

<div id="hlavicka"><?php include_once("hlavicka.php"); ?>//tady už to není řetězec</div>
<div id="vlevo"><?php include_once("vlevo.php"); ?></div> //tady chci nacitat do stránky soubory
<div id="obsah"><?php include_once("obsah.php"); ?></div> //tady chci nacitat do stránky soubory
<div id="vpravo"><?php include_once("vpravo.php"); ?></div> //tady chci nacitat do stránky soubory
<div id="paticka"><?php include_once("paticka.php"); ?></div> //tady chci nacitat do stránky soubory
<div id="hlavninadpis"> <?php echo ($hlavninadpis) ;?></div> //tady treba nactu nejakou promennou
</html>
'; //konec promenne $obsah_stranky

//tady bude funkce co vytvori samotnou stránku(soubor.php) do které potom chci zapsat obsah promenné $obsah_stranky

function vytvor_stranku($stranka )...
...neco
...neco
...neco
?>
Nahlásit jako SPAM
IP: 85.207.55.–
lubošx
~ Anonymní uživatel
2 příspěvky
20. 9. 2012   #2
-
0
-

#1 lubošx
ty zpětná lomítka v podmínce jsou omyl ,pozn. toto není můj kód který chci použít ,jen taková představa jak bych to asi
chtěl ,předem dík za rady jak to udělat správně pořípadě vaše zkušenosti jak to děláte vy.

Nahlásit jako SPAM
IP: 85.207.55.–
Nefaritus
~ Redaktor
+2
Posthunter
21. 9. 2012   #3
-
+2
-
Zajímavé

#2 lubošx
No to, co tam máš napsané, je úplný zmatek. Musí to být třeba takto:

$obsah_stranky='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
$obsah_stranky.='<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">';
$obsah_stranky.='<div id="hlavicka">' . $hlavicka . '</div>';
$obsah_stranky.='<div id="vlevo">' . $vlevo . '</div>';
$obsah_stranky.='<div id="obsah">' . $obsah . '</div>';
$obsah_stranky.='<div id="vpravo">' . $vpravo . '</div>';
$obsah_stranky.='<div id="paticka">' . $paticka . '</div>';
$obsah_stranky.='<div id="hlavninadpis">' . $hlavninadpis . '</div>';
$obsah_stranky.='</html>';

Ovšem abys naincludoval soubor do proměnné, budeš muset použít buffer (příklad - http://www.desilva.biz/php/ob_start.html) a nebo to udělat podobně jako tady - http://php.net/manual/en/function.include.php#example-140

 
Nahlásit jako SPAM
IP: 109.238.43.–
CZechBoY+4
Věrný člen
22. 9. 2012   #4
-
+1
-
Zajímavé

#2 lubošx

doufám, že jsem tě pochoúpil..

buď to udělej jak psal Nefaritus nebo

 to celé dát do bufferu, echovat a includovat (pak můžeš použít ten kod co si napsal)

<?php ob_start(); ?>
<!DocType HTML>
<html>
<head>
</head>
<body>
<div id="vlevo"><?php include_once 'vlevo.php'; ?></div>
</body>
</html>
<?php
$html = ob_get_contents();
ob_clean();
?>

no a pak budeš mít nějakou funkci na výpis toho HTML:
buď přes global, nebo parametr funkce, nebo si to dej celé do třídy

function vypisHTML() {
	global $html;
	echo $html;
}
 
Nahlásit jako SPAM
IP: 213.192.10.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 45 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý