PHP formulář - předvyplněná data – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

PHP formulář - předvyplněná data – PHP – Fórum – Programujte.comPHP formulář - předvyplněná data – PHP – Fórum – Programujte.com

 

Lukas
~ Anonymní uživatel
301 příspěvků
29. 1. 2017   #1
-
0
-

Ahoj, 

mám tento formulář:

<section>
            <?php
            if (isset($zprava))
                echo('<p>' . $zprava . '</p>');
            ?>
            <div onsubmit="return validateForm()" method="post" name="formular" >
                <u>J</u>méno*<br />
                <input type="text" name="jmeno" required pattern="[0-9A-Za-z]{3,}" title="Minimální délka jména musí být tři znaky." accesskey="j"/><br />
                <u>H</u>eslo*<br />
                <input type="password" name="heslo" id="heslo" required pattern="[0-9A-Za-z]{6,}" title="Heslo nesplňuje požadavek: minimálně 6 znaků." accesskey="h"/><br />
                Heslo <u>z</u>novu*<br />
                <input type="password" name="heslo_znovu" id="heslo_znovu" required pattern="[0-9A-Za-z]{6,}" title="Heslo nesplňuje požadavek: minimálně 6 znaků." accesskey="z"/><br />
                <u>E</u>mail*<br />
                <input type="text" name="email" required pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" title="Heslo není správně vyplněno ." accesskey="e"/><br />
                Zadejte aktuální <u>r</u>ok*<br />
                <input type="text" name="rok" required pattern="[0-9]{4}" title="Rok musí mít čtyřmístné číslo." accesskey="r"/><br />
                <div id="form">Pole označená * jsou <b>povinná</b>.</div><br>
                <input type="submit" value="Registrovat" />
            </div>
            </form>
        </section>

A chtěl bych, aby nesprávně nevyplněný formulář server vrátil zpět s daty, které zůstanou předvyplněná (tedy až na heslo). Víte někdo, jak na to? :)

Nahlásit jako SPAM
IP: 2001:718:1e02:8144::bead:...–
gna
~ Anonymní uživatel
1891 příspěvků
29. 1. 2017   #2
-
0
-

inputy mají atribut value

<input ... value="<?php echo htmlspecialchars($hodnota); ?>" ... >
Nahlásit jako SPAM
IP: 213.211.51.–
Lukas
~ Anonymní uživatel
301 příspěvků
30. 1. 2017   #3
-
0
-

Aha, a mohl by jsi mi to ukázat v tom prvním inputu? Jak by to přesně mělo vypadat v kódu?

Nahlásit jako SPAM
IP: 2001:718:1e02:9112:9d5b:7...–
gna
~ Anonymní uživatel
1891 příspěvků
30. 1. 2017   #4
-
0
-

Tak jak jsem to napsal! Přidáš tam atribut value a nastavíš ho na požadovanou hodnotu.

Nahlásit jako SPAM
IP: 213.211.51.–
Lukas
~ Anonymní uživatel
301 příspěvků
30. 1. 2017   #5
-
0
-

Dobře, a tu požadovanou hodnotu z toho inputu získám jak? Aby si jí pak mohl uložit do proměnné a dále s ní pracovat

Nahlásit jako SPAM
IP: 2001:718:1e02:9112:9d5b:7...–
gna
~ Anonymní uživatel
1891 příspěvků
31. 1. 2017   #6
-
0
-

Při metodě post jsou data formuláře v poli $_POST pod klíčem podle jména inputu.

Takže třeba to jméno bude v $_POST['jmeno'].

Nahlásit jako SPAM
IP: 213.211.51.–
gna
~ Anonymní uživatel
1891 příspěvků
31. 1. 2017   #7
-
0
-

Teď jsem si všiml, že to máš v divu. Měl by to být form.

Nahlásit jako SPAM
IP: 213.211.51.–
Lukas
~ Anonymní uživatel
301 příspěvků
31. 1. 2017   #8
-
0
-

Už to chápu a mám opraveno :) Díky

Už mi to skoro funguje, akorát dvě věci - když uživatel přijde poprvé na tu stránku registrace, tak se tam php nelíbí, že ještě $jmeno (do které dávám $_POST['jmeno']) ještě není naplněn.

A druhá věc - když přijdu poprvé na stránku, v tom prvním inputu je napsáno <br /><b>Notice</b>:  Undefined variable: jmeno in <b>C:\xampp\htdocs\web\registrace.php</b> on line <b>99</b><br />

Nahlásit jako SPAM
IP: 2001:718:1e02:9112:2825:2...–
peter
~ Anonymní uživatel
4016 příspěvků
31. 1. 2017   #9
-
0
-

2) if (isset($prom['jmeno'])) ...
1) pri odeslani je mozne poslat si hiden input s hodnorou odeslano nebo casto funguje, kdyz se da submit tlacitku name, ze to take odesla value submit tlacitka. Pak opet (1) if (isset($_POST['odeslano']))

Nahlásit jako SPAM
IP: 2001:718:2601:26c:710d:da...–
peter
~ Anonymní uživatel
4016 příspěvků
31. 1. 2017   #10
-
0
-

3) A jeste je dobre po odeslani presmerovat na jinou stranku nebo cisty formular s pripadnou odpoveze, ze ulozeno. Kdyz da uzivatel omylem F5, tak aby to neposlalo formular 3x po sobe a nevratilo mu to odpoved, ze takovy uzivatel uz je registrovany. Prvni odeslani ho registruje, druhe vypise chybu, treti totez. Uzivatel vidi ale jen posledni stav. Pripadne, jestli mas chybne program, tak ti to udela 3 zaznamy do db :)

Nahlásit jako SPAM
IP: 2001:718:2601:26c:710d:da...–
peter
~ Anonymní uživatel
4016 příspěvků
31. 1. 2017   #11
-
0
-

1) jo, submit tlacitku nedavej name=submit, protoze exisuje js funkce form.sumbit() a pristup k value by pak byl form.submit.value. Takze jeden z tech prikazu by ti nefungoval. A je to pomerne casta chyba :)

Nahlásit jako SPAM
IP: 2001:718:2601:26c:710d:da...–
Lukas
~ Anonymní uživatel
301 příspěvků
31. 1. 2017   #12
-
0
-

Ok, jdu to opravit. Zatím děkuji! :)

Nahlásit jako SPAM
IP: 146.102.112.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 68 hostů

Podobná vlákna

Formulář-ztracená data — založil ololol

Php mail formular — založil Juraj

Data zo scriptu do php — založil Peter125

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý