Diskuze: Změna textu - PHP
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
No, nepochopil si, jak PHP funguje.
PHP běží na serveru, tudíž ten HTML kód generuje na serveru, a pak ho
pošle klientovi.
Stránka se ale renderuje u klienta, kam server nemá logicky přístup, tudíž
s pomocí PHP nemůžeš přímo upravovat obsah té stránky, jakmile ji
odešleš ke klientovi.
Tudíž úpravy musíš provádět pomocí nějaké rutiny, která běží u klienta.
Stránku můžeš skriptovat JavaScriptem (a upravovat její obsah), a JavaScript podporuje technologii, které se říká AJAX. Prakticky se jedná o HTTP požadavek spuštěný na pozadí JavaScriptovým kódem, který můžeš všelijak ovládat a dokonce získat i odpověď serveru.
Následně stačí takový požadavek vybudovat, odeslat, na serveru si udělat kód který ten požadavek odbaví a odešle odpověď, tu odpověď získat a následně podle ní zareagovat.
Více zde: http://www.w3schools.com/…ajax_php.asp
Doporučuji použít na skriptování vůbec jQuery: http://blog.teamtreehouse.com/…ent-with-php
//EDIT: Pokud bys to chtěl "hezky česky", jukni zde na ITNetwork, má zde
spoustu materiálů vůbec.
http://www.itnetwork.cz/javascript/ajax
Musí to jít udělat i jinak... upřímně řečeno..to, co jsem sem poslal je zadání úkolu co mám mít do úterka odevzdaný ve škole.. ano je mi to blbý nechat si vypracovat domácí úkol ale sám bych to dohromady ani omylem nedal..Javascript používat nesmíme.. teprv jsme u HTML/CSS/PHP
Jo, blbě jsem pochopil, jde ti jen o to uložit pár názvů a pak je zase
získat.
Běžně se používá databáze, de facto standardem je MySQL, více zde: http://www.w3schools.com/…ql_intro.asp
Jen prosím používej PDO, ne MySQLi, PDO je mnohem modernější a přívětivější způsob přístupu k databázi.
Databáze je tady atomovka na komára, když může použít plácačku. Hodnotu si ulož do texťáku(http://php.net/…contents.php) a při tvoření stránky do nadpisu dosadíš to, co z toho texťáku zase přečteš. (http://www.w3schools.com/…ile_open.asp)
Jo... to je přesně to, co potřebuju... zní to celkem logicky... obejde se tím vše složité (javascript, databáze) a pracuje se jenom s uložením hodnoty do něčeho a pak načtením na místě, kde je to potřeba.. otázka už je jenom jak to poskládat aby to bylo funkčí...zatím jsem jen u toho, že mám napsanej html , kde mám rozložený ty tlačítka a nadpisy....
<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 4.01
Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title></title>
</head>
<body>
<div id="banner">
</div>
<style>
#banner {
background:
#7fffd4 }
</style>
<div id="stranky">
<ul type="button" class="menu">
<li><div class="tl"> Strana 1 </div></li>
</ul>
<ul type="button" class="menu">
<li><div class="tl"> Strana 2 </div></li>
</ul>
<ul type="button" class="menu">
<li><div class="tl"> Strana 3 </div></li>
</ul>
</div>
<div id="formstr">
<form method="GET">
<b>Pozadí stran: </b><input type="text" name="barva2">
<input size=8 type="submit" name="nazev2"> <br>
</form>
</div>
<style>
.tl {
background:
white }
</style>
<div id="formstr">
<form method="GET">
<b>Pozadí banneru: </b><input type="text" name="barva1">
<input size=8 type="submit" name="nazev1"> <br>
</form>
</div>
<style>
#banner {
background:
#7fffd4 }
</style>
</div>
</head>
<body>
<div id="pozadi">
<form method="GET">
<b>Změn Pozadí: </b><input size=8 type="text"
name="barva3">
<input size=8 font-size=14 type="submit" name="nazev3"> <br>
<style>
#pozadi {
background:
}
</style>
<form method="GET">
<p>
<b> Název strany 1: </b> <input size=8 type="text"
name="str1">
<input size=8 font-size=14 type="submit" name="stranka1"> <br>
</p>
<p>
<b> Název strany 2: </b> <input size=8 type="text"
name="str2">
<input size=8 font-size=14 type="submit" name="stranka2"> <br>
</p>
<p>
<b> Název strany 3: </b> <input size=8 type="text"
name="str3">
<input size=8 font-size=14 type="submit" name="stranka3"> <br>
</p>
</form>
<br>
</form>
</div>
<style>
#pozadi {
text-align: center;
font-size: 17px;
width:600px;
height: 200px;
margin:35px auto;
}
</style>
<style>
#banner {
border: 8px solid black;
border-radius: 15px;
width: 650px;
height: 100px;
border-style:solid;
margin:45px auto;
text-align: center;
}
</style>
<style>
#formstr {
text-align: center;
font-size: 17px;
width: 400px;
height: 30px;
margin:0px auto;
}
</style>
<style>
.tl{
float:center;
width:100px;
height:34px
font-size: 17px;
color: purple;
line-height: 1.8;
font-family: arial;
font-style: italic;
padding-top:3px;
border-style: outset;
border-radius: 50px / 20px;
text-align: center;
}
</style>
<style>
.menu{
text-align: center;
list-style-type: none;
float:left;
margin-top:35px;
height:40px;
margin:0px auto;
}
</style>
<style>
#stranky {
width: 600px;
height: 50px;
margin:10px auto;
text-align: center;
}
</style>
</body>
</html>
Kód vkládej jako kód, druhé tlačítko zleva vedle smajlíka
Máš určené, jak a kam se to má ukládat? Pokud ne a ten text tam má zůstat jen jednomu uživateli a ne napořád, tak bych asi místo databáze nebo souboru použil session.
Tady máš ukázku se změnou barvy pozadí, zbytek už od toho odvodíš...
<?php
session_start();
if (!empty($_GET["barva2"])) {
$_SESSION["barva2"] = $_GET["barva2"];
}
$barva2 = "white";
if (isset($_SESSION["barva2"])) {
$barva2 = $_SESSION["barva2"];
}
?>
<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Titulek</title>
<style>
html {
background-color: <?php echo $barva2; ?>;
}
#pozadi {
text-align: center;
font-size: 17px;
width:600px;
height: 200px;
margin:35px auto;
}
#banner {
border: 8px solid black;
border-radius: 15px;
width: 650px;
height: 100px;
border-style:solid;
margin:45px auto;
text-align: center;
}
#formstr {
text-align: center;
font-size: 17px;
width: 400px;
height: 30px;
margin:0px auto;
}
.tl{
float:center;
width:100px;
height:34px;
font-size: 17px;
color: purple;
line-height: 1.8;
font-family: arial;
font-style: italic;
padding-top:3px;
border-style: outset;
border-radius: 50px / 20px;
text-align: center;
}
.menu{
text-align: center;
list-style-type: none;
float:left;
margin-top:35px;
height:40px;
margin:0px auto;
}
#stranky {
width: 600px;
height: 50px;
margin:10px auto;
text-align: center;
}
#banner {background:#7fffd4;}
.tl {background:white;}
</style>
</head>
<body>
<div id="banner">
</div>
<div id="stranky">
<ul type="button" class="menu">
<li><div class="tl"> Strana 1 </div></li>
</ul>
<ul type="button" class="menu">
<li><div class="tl"> Strana 2 </div></li>
</ul>
<ul type="button" class="menu">
<li><div class="tl"> Strana 3 </div></li>
</ul>
</div>
<div id="formstr">
<form method="GET">
<label for=barva2>Pozadí stran: </label><input type="text" name="barva2" value="<?php echo $barva2; ?>">
<input type="submit" name="nazev2">
</form>
</div>
<div id="formstr">
<form method="GET">
<label for=barva1>Pozadí banneru: </label><input type="text" name="barva1">
<input type="submit" name="nazev1">
</form>
</div>
<div id="pozadi">
<form method="GET">
Změn Pozadí: <input size=8 type="text" name="barva3">
<input type="submit" name="nazev3">
<p>
Název strany 1: <input size=8 type="text" name="str1">
<input type="submit" name="stranka1">
</p>
<p>
Název strany 2: <input size=8 type="text" name="str2">
<input type="submit" name="stranka2">
</p>
<p>
Název strany 3: <input size=8 type="text" name="str3">
<input type="submit" name="stranka3">
</p>
</form>
</div>
</body>
</html>
Zobrazeno 13 zpráv z 13.