Diskuze: vkladani HTML pomoci PHP
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Jakub Žák:2.8.2016 13:47
Ten řádek 69 je co?
EDIT: Už chápu.
HTML stranky nic zajimaveho
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Přihlášení</title>
</head>
<body>
PHP kod ktery vytvori txt soubor -> odkazy.txt. promena menu je tam proto aby se vzdy do txt pridal odkaz dane stranky a nemuselo se to rucne upravovat u kazde stranky
<?php
$menu = $_POST['html'];
$soubor = fopen("./odkazy.txt", "a+");
fwrite($soubor, '<a href="'. $menu .'.php"><button> '. $menu .'</button> </a>');
fclose($soubor);
?>
tato cast vytvori html stranku jmenoStranky kde jmeno je promena menu. posledni sloupec ma urcovat co se do HTML respektive do jmenosouboru.php ulozi.
<?php
$menu = $_POST['html'];
$soubor = fopen("./$menu.php", "a+");
fwrite($soubor, '
tato cast je pouze html ktere se ma ulozit do prom menu.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" type="text/css" href="pokus/css/style1.css" />
<link rel="stylesheet" href="PC-CSS.css">
<title></title>
</head>
<body>
<div id="pozadi"> <!-- blok se stankou -->
<div id="body"></div>
<div id="menu"> <!-- menu stranky -->
<!-- <ul><li><a>Default Button</a></li></ul> -->
tato cast ma vkladat pomoci promene odkazy ulozene v txt dokumentu odkazy.txt kde jsou napsane odkazi jiz v html tagu. De facto to generuje celej txt soubor do ktereho jsme zapisovali v prvnim PHP bloku.
'<?php
$soubor = '.'.$odkazy.txt';
'.$klika = fopen($soubor, 'r');
while (!feof ($klika)) {
$radek = fgets($klika, 4096);
echo "$radek";
}
fclose ($klika);'
</div>
Zase pouze HTML kod ktery se ma generovat do souboru promena menu.php
</div>
<div id="hlavicka">
<div class="css-slideshow">
<figure><img src="images\1.jpg" /></figure>
<figure><img src="images\2.jpg" /></figure>
<figure><img src="images\3.jpg" /></figure>
<figure><img src="images\4.jpg" /></figure>
<figure><img src="images\5.jpg" /></figure>
<figure><img src="images\6.jpg" /></figure>
<figure><img src="images\3.jpg" /></figure>
<figure><img src="images\5.jpg" /></figure>
</div>
<!--<img src="sorrento.jpg" width="100%"> -->
</div> <!-- hlavička stránky -->
<div id="obsaho"></div>
<div id="obsah"> <!-- obsah stránky -->
tento PHP blog generuje obsah stranky de facto to same jako u generovani menu jen ze adresa souboru.txt je generovana prez promenou aby to bylo vyuzitelne pro vice stranek (souboru s HTML). Ten text se zase vygeneruje pomoci formulare ale ten se nachazi v jinem souboru a je jiz vytvoren.
$soubor = '.'.$menu.txt';
'.$klika = fopen($soubor, 'r');
while (!feof ($klika)) {
$radek = fgets($klika, 4096);
echo "$radek";
}
fclose ($klika);'
Posledni radky HTML ktery se ma ulozit + predposledni radek zavre soubor se kterym jsme pracovali (promena menu.php)
</div>
<div id="patka">Copyright 2014, © Něco tam dám</div>
</div>
</body>
</html>
?>');
fclose($soubor);
?>
Snad je to dostacujici popis. Defacto PHP tam moc neni (3 bloky po +-7 radcich) a HTML je pouze zkopirovana sablona do ktere se ma pomoci PHP vypisovat menu a obsah a zbytek se nechava jako HTML v ciste podobe.
Za ně se omlouvám, nemají žádný účel. vznikli díky vymazávání obsahu HTML a přidáváním PHP, mě osobně nějak nevadili - nerušili takže jsem si vůbec neuvědomil že je to estetická prasárna.
Jakub Žák:2.8.2016 16:39
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Přihlášení</title>
</head>
<body>
<?php
if (isset($_GET['html']) AND !empty($_GET['html'])) {
$menu = $_GET['html'];
} else {
$menu = null;
}
$soubor = fopen("./odkazy.txt", "a+");
if (!$soubor) {
die("Soubor se nepodařilo otevřít (1).");
}
fwrite($soubor, '<a href="'. $menu .'.php"><button> '. $menu .'</button> </a>');
fclose($soubor);
$soubor = fopen("./$menu.php", "a+");
if (!$soubor) {
die("Soubor se nepodařilo otevřít (2).");
}
fwrite($soubor, '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" type="text/css" href="pokus/css/style1.css" />
<link rel="stylesheet" href="PC-CSS.css">
<title>Proč tady nic není?</title>
</head>
<body>
<div id="pozadi"> <!-- blok se stankou -->
<div id="body"></div>
<div id="menu"> <!-- menu stranky -->
<!-- <ul><li><a>Default Button</a></li></ul> -->
');
$souborNE = './odkazy.txt';
$klika = fopen($souborNE, 'r');
if (!$klika) {
die("Soubor se nepodařilo otevřít (3).");
}
while (!feof ($klika)) {
$radek = fgets($klika, 4096);
echo $radek;
fwrite($soubor, $radek);
}
fclose ($klika);
fwrite($soubor, '
</div>
<div id="hlavicka">
<div class="css-slideshow">
<figure><img src="images\1.jpg" /></figure>
<figure><img src="images\2.jpg" /></figure>
<figure><img src="images\3.jpg" /></figure>
<figure><img src="images\4.jpg" /></figure>
<figure><img src="images\5.jpg" /></figure>
<figure><img src="images\6.jpg" /></figure>
<figure><img src="images\3.jpg" /></figure>
<figure><img src="images\5.jpg" /></figure>
</div>
<!--<img src="sorrento.jpg" width="100%"> -->
</div> <!-- hlavička stránky -->
<div id="obsaho"></div>
<div id="obsah"> <!-- obsah stránky -->
');
$souborNE = './'.$menu.'.php';
$klika = fopen($souborNE, 'r');
while (!feof ($klika)) {
$radek = fgets($klika, 4096);
echo "$radek";
}
fclose ($klika);
fwrite($soubor, '
</div>
<div id="patka">Copyright 2014, © Něco tam dám</div>
</div>
</body>
</html>
');
fwrite($soubor, null);
fclose($soubor);
?>
Děkuji moc za pomoc, kod jsem trochu upravil a běží až na dvě věci které nechápu. Mám vložený první PHP blok který mám vložený jako text ale ve výsledném souboru $menu.'.php' je již vykonaný (otevřeno v PSPpadu) a druhý blok pro vkládání obsahu mi rači nefunguje vůbec. viz kod.
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Přihlášení</title>
</head>
<body>
<?php
if (isset($_POST['menu']) AND !empty($_POST['menu'])) {
$menu = $_POST['menu'];
} else {
$menu = null;
}
$soubor = fopen("./odkazy.txt", "a+");
if (!$soubor) {
die("Soubor se nepodařilo otevřít (1).");
}
fwrite($soubor, '<a href="'. $menu .'.php"><button> '. $menu .'</button> </a>');
fclose($soubor);
$soubor = fopen("./$menu.php", "a+");
if (!$soubor) {
die("Soubor se nepodařilo otevřít (2).");
}
fwrite($soubor, '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" type="text/css" href="pokus/css/style1.css" />
<link rel="stylesheet" href="PC-CSS.css">
<title>Proč tady nic není?</title>
</head>
<body>
<div id="pozadi"> <!-- blok se stankou -->
<div id="body"></div>
<div id="menu"> <!-- menu stranky -->
<!-- <ul><li><a>Default Button</a></li></ul> -->
);
<?php
$souborNE = ./odkazy.txt;
$klika = fopen($souborNE, "r");
if (!$klika) {
die("Soubor se nepodařilo otevřít (3).");
}
while (!feof ($klika)) {
$radek = fgets($klika, 4096);
echo $radek;
fwrite($soubor, $radek);
}
fclose ($klika);
?''>
fwrite($soubor,
</div>
<div id="hlavicka">
<div class="css-slideshow">
<figure><img src="images\1.jpg" /></figure>
<figure><img src="images\2.jpg" /></figure>
<figure><img src="images\3.jpg" /></figure>
<figure><img src="images\4.jpg" /></figure>
<figure><img src="images\5.jpg" /></figure>
<figure><img src="images\6.jpg" /></figure>
<figure><img src="images\3.jpg" /></figure>
<figure><img src="images\5.jpg" /></figure>
</div>
<!--<img src="sorrento.jpg" width="100%"> -->
</div> <!-- hlavička stránky -->
<div id="obsaho"></div>
<div id="obsah"> <!-- obsah stránky -->
);
<?php
$souborNE = ./.$menu.php;
$klika = fopen($souborNE, "r");
while (!feof ($klika)) {
$radek = fgets($klika, 4096);
echo "$radek";
}
fclose ($klika);
fwrite($soubor,
</div>
<div id="patka">Copyright 2014, © Něco tam dám</div>
</div>
</body>
</html>
);
fwrite($soubor, null);
fclose($soubor); ?''>
?>
</body>
</html>
Jo a toto vyřeším přez vytvoření další proměné ale dám to sem jako zajímavost že se mi vloží proměná menu jen za <a href ale za <button> už ne.
fwrite($soubor, '<a href="'. $menu .'.php"><button> '. $menu .'</button> </a>');
koukám že tyhle funkce asi neznáte viz: http://php.net/…contents.php nebo http://php.net/…contents.php
Zobrazeno 10 zpráv z 10.