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.

Předmět Autor Datum
Nie som sice programator, ale pokial viem v php sa nacitavaju ine subory cez include, akurat aj osta…
fleg 14.05.2012 09:16
fleg
txt je jen hloupá koncovka, dulezité je co je v souboru za data a jakou ma hlavicku. Kldine se to mu…
AZOR 14.05.2012 10:03
AZOR
Chci aby po kliknutí na odkaz Uvod, se vypsal na strance obsah uvod.txt, např kliknutí na restaurace…
Fanfaster 14.05.2012 10:39
Fanfaster
Cize klasicke menu, na to mas milion skript na nete, daj si napriklad simple php menu do googla a vy…
fleg 14.05.2012 10:52
fleg
vyprdni se na učení PHPčka, nahoď si tam joomlu a pak koukej třeba i po Phoca rozšířeních, tuším že…
Redsnake 14.05.2012 10:53
Redsnake
To je evidentne uloha do skoly, nie tvorba webu z vlastnej iniciativy.
fleg 14.05.2012 10:57
fleg
aha, už mlčím.
Redsnake 14.05.2012 10:59
Redsnake
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…
host 14.05.2012 15:20
host
Nějak to musíš vypsat ne? $soubor = fopen("soubor.txt", "r"); $souborR = fread($soubor, 10); echo($…
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…
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?
fleg 14.05.2012 16:57
fleg
Ano myslím to tak.
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…
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…
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 ',…
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…
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…
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…
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…
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…
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-…
Bonny 14.05.2012 19:02
Bonny
Díky HTML5 se dnes používá jen <meta charset=UTF-8>
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…
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…
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.
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
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…
Nookyn 14.05.2012 19:27
Nookyn
Ještě mi to nepíše to co mám napsáno v těch txt souborech.-
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.…
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…
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ů?
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…
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…
Fanfaster 14.05.2012 20:35
Fanfaster
Ten kód pro to co hledáte sem píši celou dobu. Ukázka
Nookyn 14.05.2012 20:45
Nookyn
TU je zdroják <HTML> <HEAD> <TITLE>Restaurace</TITLE> <meta http-equiv="Content-Type" content="text…
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…
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…
Fanfaster 14.05.2012 21:01
Fanfaster
<HTML> <HEAD> <TITLE>Restaurace</TITLE> <meta http-equiv="Content-Type" content="text/html; charset=…
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…
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…
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

txt je jen hloupá koncovka, dulezité je co je v souboru za data a jakou ma hlavicku. Kldine se to muze jmenovat .txt (coz je vlastne fajn, protoze haf.xx/jidelnicek.txt kdyz otevre samotne pak neni intepretováno jako PHP). Imho podle mne v tom budou surová data, která je třeba načíst přes fopen, tak si to zadavatel asi představuje.

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