NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Změna textu - PHP

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
hornik34
Člen
Avatar
hornik34:4.6.2016 14:01

mám za cíl vytvořit html/php stránku, kde nebude nic.. jenom uprostřed nahoře budou dva nadpisy a pod tím budou tam 3 Textové pole a vedle tlačítka odeslat a po vyplnění jakéhokoliv textu do textového pole..(kolečko 1) se to napíše místo nadpisu.(kolečko 2) ..první textové pole bude měnit nadpis 1 a druhé nadpis 2 ..Jak to mám provédst ?

 
Odpovědět
4.6.2016 14:01
Avatar
VitekST
Člen
Avatar
VitekST:4.6.2016 14:17

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

 
Nahoru Odpovědět
4.6.2016 14:17
Avatar
VitekST
Člen
Avatar
VitekST:4.6.2016 14:22

//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

 
Nahoru Odpovědět
4.6.2016 14:22
Avatar
hornik34
Člen
Avatar
hornik34:4.6.2016 14:29

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

 
Nahoru Odpovědět
4.6.2016 14:29
Avatar
VitekST
Člen
Avatar
Odpovídá na hornik34
VitekST:4.6.2016 14:41

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.

 
Nahoru Odpovědět
4.6.2016 14:41
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na VitekST
Adam Ježek:4.6.2016 15:00

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)

Editováno 4.6.2016 15:02
Nahoru Odpovědět
4.6.2016 15:00
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
hornik34
Člen
Avatar
hornik34:4.6.2016 15:15

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>

 
Nahoru Odpovědět
4.6.2016 15:15
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na hornik34
Adam Ježek:4.6.2016 15:20

Kód vkládej jako kód, druhé tlačítko zleva vedle smajlíka

Nahoru Odpovědět
4.6.2016 15:20
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
hornik34
Člen
Avatar
hornik34:4.6.2016 15:24

Dobře..nevěděl jsem to.... pro příště ho vložím, jak říkáš...,zpětně už to asi nejde vložit jako kód..

 
Nahoru Odpovědět
4.6.2016 15:24
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na hornik34
Jakub Žák:4.6.2016 15:26

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.

Nahoru Odpovědět
4.6.2016 15:26
Kuba je ajťák. Buď jako Kuba.
Avatar
hornik34
Člen
Avatar
hornik34:4.6.2016 15:29

Určené to není.... a o session učitel něco říkal. to by se použít asi mohlo, ale to už vůbec netuším kam dát nebo jak to udělat...

 
Nahoru Odpovědět
4.6.2016 15:29
Avatar
Jakub Žák
Člen
Avatar
Jakub Žák:4.6.2016 15:54

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>
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
4.6.2016 15:54
Kuba je ajťák. Buď jako Kuba.
Avatar
hornik34
Člen
Avatar
hornik34:4.6.2016 16:20

Mockrát děkuju za pomoc :), už mi funguje vše, jak jsem chtěl. .....Jsem spokojen :), Přeji hezký den :)

 
Nahoru Odpovědět
4.6.2016 16:20
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.