Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno PHP - prezentace

Dobrý den,
chtěl bych vytvořit jednoduchou webovou prezentaci, ale nevím si rady.

úvodní stránka (uvod.txt)
pár slov o restauraci (restaurace.txt)
jídelní lístek (jidla.txt)
nápojový lístek (napoje.txt)
kontaktní údaje (kontakt.txt)

V závorkách je příklad, jak by se mohl jmenovat textový soubor s uloženými informacemi. Informace bych chtěl načítat do společného prostředí definovaného v souboru index.php. V tomto souboru bude též uložen skript, který bude zajišťovat načítání správného souboru.

Nevím jak bude vypadat skript na načítání do společného prostředí a skript který bude zajištovat správné načtení souboru.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Chci to udělat v php, abych se to konečně naučil. Ono by to mělo vypadat nějak takhle <?php $soubo…
Fanfaster 14.05.2012 14:01
Fanfaster
Chci to udělat v php, abych se to konečně naučil. Tak proč se to nenaučíš? Kolik tutoriálů a manuál… nový
host 14.05.2012 15:20
host
Nějak to musíš vypsat ne? $soubor = fopen("soubor.txt", "r"); $souborR = fread($soubor, 10); echo($… nový
Bonny 14.05.2012 15:42
Bonny
Odkazy chci předávat pomocí $id=.... Odkazy budou 4. Výše vypsaný script přečte jen jeden soubor txt… nový
Fanfaster 14.05.2012 16:53
Fanfaster
Prenasat data je co? V .txt bude akoze nejaky text a ten text sa ti ma vypisat na stranke, ci co? nový
fleg 14.05.2012 16:57
fleg
Ano myslím to tak. nový
Fanfaster 14.05.2012 17:34
Fanfaster
Nejdříve vložíte odkazy na jednotlivé soubory: <a href="?s=uvod">Úvodní stránka</a><br> <a href="?s… nový
Nookyn 14.05.2012 17:12
Nookyn
<a href="?s=uvod">Úvodní stránka</a><br> <a href="?s=restaurace">Restaurace</a><br> <a href="?s=jidl… nový
Nookyn 14.05.2012 17:18
Nookyn
Děkuji za radu ale oba dva skripty mi píšou chybu syntax error, unexpected T_IS_EQUAL, expecting ',… nový
Fanfaster 14.05.2012 17:33
Fanfaster
Už jsi dostal několik rad. Tvrdíš, že se chceš PHP naučit. Pokud ano, tak bys měl začít od něčeho je… nový
host 14.05.2012 17:57
host
Zkouším programovat i svoje, jenže se mi to prozatim nepovedlo a tak hledam radu tady. Poradna je od… nový
Fanfaster 14.05.2012 18:02
Fanfaster
Ano, poradna je od slova radit. To je asi jediná věc, na které se shodneme. Radu jsem ti už dal, po… nový
host 14.05.2012 18:05
host
Host ma pravdu v tom, pokial hladas radu stylom dajte mi cele riesenie tak sa nikdy nic nenaucis. Po… nový
fleg 14.05.2012 18:45
fleg
Celé řešení určitě nehledám. Skript který tu už někdo napsal mi píše chybovou hlášku. Ano načtení so… nový
Fanfaster 14.05.2012 18:53
Fanfaster
Mám nejlepší radu...dej si ty svoje texťaky do jedné složky a dej tohle: <meta http-equiv="Content-… nový
Bonny 14.05.2012 19:02
Bonny
Díky HTML5 se dnes používá jen <meta charset=UTF-8> nový
Nookyn 14.05.2012 19:19
Nookyn
Dobře si to napsal, ale já bych chtšl aby se při kliknutí na odkaz objevil v té stránce ten text. Ty… nový
Fanfaster 14.05.2012 19:18
Fanfaster
Něco lepšího...jen tak na rychlo takže cyhby nejsou vyloučeny <meta charset=UTF-8"> <style type='te… nový
Bonny 14.05.2012 19:30
Bonny
Lepší to sice neni, ale teď mě napadlo že by byla ještě jedna efektivnější možnost - jQuery. nový
Nookyn 14.05.2012 19:33
Nookyn
nemyslím lepší než to Vaše, myslím než to, co jsem udělal před tím nový
Bonny 14.05.2012 19:42
Bonny
Pravda, omlouvám se za chybu, chyběla mi tam jedna závorka. <a href="?s=uvod">Úvodní stránka</a><br… nový
Nookyn 14.05.2012 19:27
Nookyn
Ještě mi to nepíše to co mám napsáno v těch txt souborech.- nový
Fanfaster 14.05.2012 19:40
Fanfaster
uvod.txt restaurace.txt jidla.txt napoje.txt kontakt.txt Takhle by měli být pojmenovány ty soubory.… nový
Nookyn 14.05.2012 19:52
Nookyn
Ano vše mám v pořádku, ale nechce se mi vypisovat ten obsah txt souborů po kliknutí na patříčný odka… nový
Fanfaster 14.05.2012 20:11
Fanfaster
Tak jsem asi špatně pochopil. A co chcete teda? Stránka ve které bude vypsán obsah všech souborů? nový
Nookyn 14.05.2012 20:26
Nookyn
Už je mi z toho nanic. Všude jsou tady nějaky zdrojáky, ale žádnej nepracuje jak by měl. Sám bych to… nový
Fanfaster 14.05.2012 20:33
Fanfaster
Ne. Mám stránku kde mám menu. Menu má 5 odkazů. Chci když kliknu na nějakej odkaz aby se vypsal na s… nový
Fanfaster 14.05.2012 20:35
Fanfaster
Ten kód pro to co hledáte sem píši celou dobu. Ukázka nový
Nookyn 14.05.2012 20:45
Nookyn
TU je zdroják <HTML> <HEAD> <TITLE>Restaurace</TITLE> <meta http-equiv="Content-Type" content="text… nový
Fanfaster 14.05.2012 20:40
Fanfaster
1. pište malé písmena v HTML značkách! toto je hnus a nepřehledné 2. stylujte pomocí CSS (buď soubor… nový
Nookyn 14.05.2012 20:53
Nookyn
Napíšu to aby si to pochopil. Při vypsání stránky restaurace chci aby se na stránku vypsal text ze… nový
Fanfaster 14.05.2012 21:01
Fanfaster
<HTML> <HEAD> <TITLE>Restaurace</TITLE> <meta http-equiv="Content-Type" content="text/html; charset=… nový
Nookyn 14.05.2012 21:03
Nookyn
Velice moc ti děkuji za tvou snahu. Script je již funkční a já budu mít klidnoou noc :) Děkuji ti. J… nový
Fanfaster 14.05.2012 21:12
Fanfaster
vyechuj si to HTML function.echo.php (popr. http://cz.php.net/manual/en/language.types.string. php#l… nový
ERASER 14.05.2012 21:15
ERASER
Doslova převést stránku z HTML do PHP nejde. Třeba tag jako je <body> atd ... můžeš opravdu jedině j… poslední
Nookyn 14.05.2012 21:22
Nookyn

Chci to udělat v php, abych se to konečně naučil.

Ono by to mělo vypadat nějak takhle

<?php
$soubor = fopen("uvod.txt", "r");
$text = fread($soubor, filesize);
fclose($soubor);
?>

Komentářů už je tu dost, ale v žádné nebyla zatím rada jak udělat to aby se po každém otevření odkazu vypsal obsah souboru txt

Chci to udělat v php, abych se to konečně naučil.

Tak proč se to nenaučíš? Kolik tutoriálů a manuálu jsi přečetl?

Musíš si nadefinovat proměnnou, v které budeš mít název stránky (souboru), který se má zobrazit. Například $stranka. Do této proměnné přiřadíš hodnotu podle toho, na který odkaz uživatel klikne. Následně hodnotu přečteš např. pomocí metody $_GET a vypíšeš obsah souboru na obrazovku - buď najednou (pomocí Include) nebo třeba po řádcích, pomocí cyklu a FGetS.

Odkazy chci předávat pomocí $id=....
Odkazy budou 4.
Výše vypsaný script přečte jen jeden soubor txt

Já chci poradit a vymyslet nějaký script který bude přenášet data ze souboru txt na stránku. Nevím jak to mám dále vysvětlit.

Nejdříve vložíte odkazy na jednotlivé soubory:

<a href="?s=uvod">Úvodní stránka</a><br>
<a href="?s=restaurace">Restaurace</a><br>
<a href="?s=jidla">Jídla</a><br>
<a href="?s=napoje">Nápoje</a><br>
<a href="?s=kontakt">Kontakt</a>

A teď PHP script, který nám zobrazí obsah souborů:

<?
if(isset($_GET['s']=="restaurace")){
  include $_GET['s'].".txt";
}elseif(isset($_GET['s']=="jidla")){
  include $_GET['s'].".txt";
}elseif(isset($_GET['s']=="napoje")){
  include $_GET['s'].".txt";
}elseif(isset($_GET['s']=="kontakt")){
  include $_GET['s'].".txt";
}else{
  include "uvod.txt";
}
?>

Je to zdlouhavé, bez zabezpečení ale je to, co požadujete.

<a href="?s=uvod">Úvodní stránka</a><br>
<a href="?s=restaurace">Restaurace</a><br>
<a href="?s=jidla">Jídla</a><br>
<a href="?s=napoje">Nápoje</a><br>
<a href="?s=kontakt">Kontakt</a>
<?
if(isset($_GET['s'])){
  if(file_exists($_GET['s'].".txt"){
    print file_get_contents($_GET['s'].".txt");
  }else{
    print "Soubor ".$_GET['s'].".txt neexistuje.";
  }
}
?>

By měla být jednodušší varianta i s ochranou. Nejsem si na 100% jist, jestli jsem to napsal správně, když nebude fungovat, ozvěte se.

Děkuji za radu ale oba dva skripty mi píšou chybu

syntax error, unexpected T_IS_EQUAL, expecting ',' or ')'

Pro ty kteří ještě neví co potřebuji to vysvětlím znovu.

Chci stránku která má 5 odkazů.
úvodní stránka (uvod.txt)
pár slov o restauraci (restaurace.txt)
jídelní lístek (jidla.txt)
nápojový lístek (napoje.txt)
kontaktní údaje (kontakt.txt)
__________________________________________________ __¨
Potřebuji PHP skript který při kliknutí např. na Uvod vypíše obsah souboru uvod.txt
Když kliknu potom třeba na restaurace vypíše se obsah souboru restaurace.

Už jsi dostal několik rad. Tvrdíš, že se chceš PHP naučit. Pokud ano, tak bys měl začít od něčeho jednoduššího (na co stačíš) nebo umět projevit vlastní snahu a ne čekat, až ti někdo naservíruje hotový kód. Taky to na mě začíná působit, že se jedná o domácí úkol a zrovna jsi "chyběl", když se to probíralo...

Zkouším programovat i svoje, jenže se mi to prozatim nepovedlo a tak hledam radu tady. Poradna je od slova radit ne? Promiň, ale píšeš tu pořád něco o domácím úkolu, ale zatím si nepřiložil ruku k dílu.

Host ma pravdu v tom, pokial hladas radu stylom dajte mi cele riesenie tak sa nikdy nic nenaucis. Pokial sa snazis, nieco nakodis a napriklad ti to nejde lebo ti to hadze chyboveu hlasku tak sa spytaj na poradni, kde ti skusenejsi kodery povedia, kde si spravil chybu.
Pokial tento rozdiel necitis a nevnimas tak sa na to radsej vykasli.

Celé řešení určitě nehledám.
Skript který tu už někdo napsal mi píše chybovou hlášku.
Ano načtení souboru umí tenhle skript

<?php
$soubor = fopen("soubor.txt", "r");
$text = fread($soubor, filesize($soubor));
echo($text);
fclose($soubor);
>?>

Ale já chci poradit jak tenhle skript zdokonalit a chci aby když kliknu v menu třeba na restaurace aby se vypsal obsah souboru restaurace.txt, nebo třeba po kliknutí na úvod se objevil obsah stránky úvod.txt
Co je v tomto nepochopitelné?

Mám nejlepší radu...dej si ty svoje texťaky do jedné složky a dej tohle:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<a href="uvod.txt">Úvod</a><br />
<a href="restaurace.txt">Restaurace</a><br />
<a href="jidla.txt">Jídla</a><br />
<a href="napoje.txt">Nápoje</a><br />
<a href="kontakt.txt">Kontakt</a>

do soubor.html
a máš to :-)

Dobře si to napsal, ale já bych chtšl aby se při kliknutí na odkaz objevil v té stránce ten text. Ty si mi napsal odkazy a když na ně kliknu vypíše se ten obsah.
Ale moc ti děkuji za radu moc si toho vážím.

Něco lepšího...jen tak na rychlo takže cyhby nejsou vyloučeny

<meta charset=UTF-8">
<style type='text/css'>
body {
background-color: #696969;
}

.uvod {
  margin: 0px auto 0 auto;
  width: 100%;
  height: 200px;
  background-color: #000;
  text-align: center;
  color: #ffffff;
}
.restaurace {
  margin: 10px auto auto auto;
  background-color: #000;
  text-align: center;
  width: 31%;
  height: 150px;
  color: #ffffff;
}
.jidelnicek {
  margin: -150px 0px auto 0;
  background-color: #000;
  text-align: center;
  width: 31%;
  height: 150px;
  color: #ffffff;
}
.napoje {
  margin: -150px 0px auto auto;
  background-color: #000;
  text-align: center;
  width: 31%;
  height: 150px;
  color: #ffffff;
}
.kontakt {
  margin: 50px auto 0 auto;
  background-color: #000;
  text-align: center;
  width: 225px;
  height: auto;
  color: #ffffff;
}
</style>
<body>
<div class='uvod'><font size='6'>Úvod</font> <br />
<?php $uvod = fopen("uvod.txt", "r");
$uvodR = fread($uvod, 1000);
echo($uvodR);
fclose($uvod);
?></div>

<div class='restaurace'><font size='6'>Pár slov...</font> <br />
<?php $restaurace = fopen("restaurace.txt", "r");
$restauraceR = fread($restaurace, 1000);
echo($restauraceR);
fclose($restaurace);
?></div>
<div class='jidelnicek'><font size='6'>Jídla</font> <br />
<?php $jidelnicek=fopen("jidelnicek.txt", "r");
$jidelnicekR = fread($jidelnicek, 1000);
echo($jidelnicekR);
fclose($jidelnicek);
?></div>

<div class='napoje'><font size='6'>Nápoje</font> <br />
<?php $napoje=fopen("napoje.txt", "r");
$napojeR = fread($napoje, 1000);
echo($napojeR);
fclose($napoje);
?></div>

<div class='kontakt'><font size='6'>Kontakt</font>
<div style='text-align: left;'><b>Email:</b> xxx@xxx.cz <br />
<b>Mobil:</b> XXX XXX XXX <br />
<b>Adresa:</b> Praha  <br />
</div></div>
</body>

Tohle je lepší :D

Pravda, omlouvám se za chybu, chyběla mi tam jedna závorka.

<a href="?s=uvod">Úvodní stránka</a><br>
<a href="?s=restaurace">Restaurace</a><br>
<a href="?s=jidla">Jídla</a><br>
<a href="?s=napoje">Nápoje</a><br>
<a href="?s=kontakt">Kontakt</a>

<?
$koncovka = ".txt";
$soubor = $_GET['s'];
if(isset($soubor)){
  if(file_exists($soubor.$koncovka)){
    print file_get_contents($soubor.$koncovka);
  }else{
    print "Soubor ".$soubor.$koncovka." neexistuje.";
  }
}
?>

Odzkoušeno, funguje.

uvod.txt
restaurace.txt
jidla.txt
napoje.txt
kontakt.txt

Takhle by měli být pojmenovány ty soubory.
Pokud budete chtít script přizbůsobit vašim názvům, stačí přepsat v "menu".

Například:

<a href="?s=uvod">Úvodní stránka</a><br>

na

<a href="?s=uvodni_stranka">Úvodní stránka</a><br>

Ale nezapomeňte že název souboru by neměl obsahovat háčky, čárky a tečky (kromě oddělení koncovky).

Už je mi z toho nanic. Všude jsou tady nějaky zdrojáky, ale žádnej nepracuje jak by měl. Sám bych to nezvládl lépe tak déěkuji všem za radu.

Prosím tedy ještě o radu, nefunguje mi to vypsání z txt na stránku.

TU je zdroják

<HTML>
<HEAD>
<TITLE>Restaurace</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</HEAD>
<BODY>
<TABLE BORDER=1 ALIGN="CENTER" WIDTH="100%">
<TR ALIGN="Center"><TD COLSPAN=5 WIDTH="100%" BGCOLOR="#0008FD"><TR ALIGN="Center" VALIGN="Middle"><TD BGCOLOR="#C31200"></A>

<TD WIDTH="90%" BGCOLOR="#00FDFD"><FONT COLOR="#000000" SIZE=5 FACE="Comic Sans MS">Restaurace</FONT>
<TR><TD WIDTH="20%" ALIGN="Center" HEIGHT=450 VALIGN="Top" BGCOLOR="#5E9300"><FONT COLOR="#FFFF00">

<A HREF="?id=uvod"><FONT COLOR="#FEFEFE" FACE="Comic Sans MS" SIZE=3>Uvod</FONT></A><BR>
<BR>
<A HREF="?id=napoje"><FONT COLOR="#FEFEFE" FACE="Comic Sans MS" SIZE=3>Napoje</FONT></A><BR>
<A HREF="?id=jidla"><FONT COLOR="#FEFEFE" FACE="Comic Sans MS" SIZE=3>Jidla</FONT></A><BR>
<A HREF="?id=restaurace"><FONT COLOR="#FEFEFE" FACE="Comic Sans MS" SIZE=3>Restaurace</FONT></A><BR>
<A HREF="?id=kontakt"><FONT COLOR="#FEFEFE" FACE="Comic Sans MS" SIZE=3>Kontakt</FONT></A><BR>

<TD WIDTH="80%" ALIGN="Center" COLSPAN=4 BGCOLOR="#8FFF00" VALIGN="Middle"><BR>

<?
$koncovka = ".txt";
$soubor = $_GET['s'];
if(isset($soubor)){
if(file_exists($soubor.$koncovka)){
print file_get_contents($soubor.$koncovka);
}else{
print "Soubor ".$soubor.$koncovka." neexistuje.";
}
}
?>
<FONT COLOR="#FEFEFE" FACE="Comic Sans MS" SIZE=4></FONT><TR ALIGN="Center"><TD COLSPAN=5 WIDTH="100%" BGCOLOR="#BB1200">

</TABLE>
<?php
if(isset($id))$nazev=$id.".html";
if(file_exists($nazev)){
$s=fopen($nazev,"r");
$obsah=fread($s,filesize($nazev));
$id = $_GET['id'];
if (strlen($id) > 10){
die("Neplatný pokus o změnu interní stránky.");
fclose($s);
}
?>

1. pište malé písmena v HTML značkách! toto je hnus a nepřehledné
2. stylujte pomocí CSS (buď soubor *.css, uložení na stránkách <style></style> a nebo přímo u tagu - <span style="...">...</span>)
3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> se dnes nepoužívá, stačí <meta charset=UTF-8>

Chcete se naučit pokročilejší věci v PHP, přitom ani neumíte základy HTML a CSS.

<HTML>
<HEAD>
<TITLE>Restaurace</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</HEAD>
<BODY>
<TABLE BORDER=1 ALIGN="CENTER" WIDTH="100%">
<TR ALIGN="Center"><TD COLSPAN=5 WIDTH="100%" BGCOLOR="#0008FD"><TR ALIGN="Center" VALIGN="Middle"><TD BGCOLOR="#C31200"></A>

<TD WIDTH="90%" BGCOLOR="#00FDFD"><FONT COLOR="#000000" SIZE=5 FACE="Comic Sans MS">Restaurace</FONT>
<TR><TD WIDTH="20%" ALIGN="Center" HEIGHT=450 VALIGN="Top" BGCOLOR="#5E9300"><FONT COLOR="#FFFF00">

<A HREF="?id=uvod"><FONT COLOR="#FEFEFE" FACE="Comic Sans MS" SIZE=3>Uvod</FONT></A><BR>
<BR> 
<A HREF="?id=napoje"><FONT COLOR="#FEFEFE" FACE="Comic Sans MS" SIZE=3>Napoje</FONT></A><BR>
<A HREF="?id=jidla"><FONT COLOR="#FEFEFE" FACE="Comic Sans MS" SIZE=3>Jidla</FONT></A><BR>
<A HREF="?id=restaurace"><FONT COLOR="#FEFEFE" FACE="Comic Sans MS" SIZE=3>Restaurace</FONT></A><BR>
<A HREF="?id=kontakt"><FONT COLOR="#FEFEFE" FACE="Comic Sans MS" SIZE=3>Kontakt</FONT></A><BR>

<TD WIDTH="80%" ALIGN="Center" COLSPAN=4 BGCOLOR="#8FFF00" VALIGN="Middle"><BR>


<?
$koncovka = ".txt";
$soubor = $_GET['id'];
if(isset($soubor)){
if(file_exists($soubor.$koncovka)){
print file_get_contents($soubor.$koncovka);
}else{
print "Soubor ".$soubor.$koncovka." neexistuje.";
}
}
?>
<FONT COLOR="#FEFEFE" FACE="Comic Sans MS" SIZE=4></FONT><TR ALIGN="Center"><TD COLSPAN=5 WIDTH="100%" BGCOLOR="#BB1200">

</TABLE>
<?php
if(isset($id))$nazev=$id.".html";
if(file_exists($nazev)){
$s=fopen($nazev,"r");
$obsah=fread($s,filesize($nazev));
$id = $_GET['id'];
if (strlen($id) > 10){
die("Neplatný pokus o změnu interní stránky.");
fclose($s);
}
?>

Zkus.

Zpět do poradny Odpovědět na původní otázku Nahoru