Autor | Zpráva | ||
---|---|---|---|
optimusxx123 Profil |
#1 · Zasláno: 11. 1. 2014, 17:28:55
Dobry den,
potreboval by som na svoju stranku vlozit formularove okno. viem pouzivat formularove okna na odosielanie emailov atd ale ja by som potreboval formular s jednym oknom, kde by navstevnik napr mal zadat svoj vek alebo nieco, bez svojho emailu bez nicoho, len anonymne jednu polozku a tato polozka by sa po odoslani ulozila niekde do databazy alebo sa poslala na moj email alebo nieco.. vie mi niekto pomoct? vopred dakujem za kazrdu radu :) |
||
DarkMeni Profil |
#2 · Zasláno: 11. 1. 2014, 20:27:39
Umíš pracovat s databází (třeba MySQL)? Další možnost je že by si to ukládal do souboru
Má to být něco jako odesílání komentářů nebo tak něco? |
||
optimusxx123 Profil |
#3 · Zasláno: 11. 1. 2014, 22:41:14
ne ne s databazami to neviem, ale tiez ma napadlo ze by sa to mohlo ukladat do suboru... hej hej aj tak sa to da vziat, ze uzivatel by napisal anonymne svoj nazor na nieco odoslal by, a mne by sa do suboru ale niekam ulozila tato sprava...
|
||
Coompiik Profil |
#4 · Zasláno: 11. 1. 2014, 22:43:57 · Upravil/a: Moderátor (editace znemožněna) 12. 1. 2014, 10:12:28
optimusxx123:
Ukladani do souboru je pres file_put_content, sám sem to nedávno dělal, chceš to jakože se ti zpráva bude ukládat do tabulky(Otevřeš v prohlížeči) nebo pod sebe(v prohlížeči nebo v souboru). Kouknu se ti na obojí a ještě dneska ti to napíšu, už budu muset jít a tejden tu nebudu. Vzkaz.php <meta charset="UTF-8"> <form method="post"> Napište nám<br> <textarea name="zprava" rows="5" cols="30" placeholder="Sem napište svůj vzkaz"></textarea><br><input type="submit" value="Odeslat vzkaz!"></form> <?php if($_POST['zprava'] != ''){ $zprava = "\n" . $_POST['zprava'] . "\n"; $ulozit = fopen("zpravy.txt", "a"); fwrite($ulozit, $zprava); fclose($ulozit); echo "Váš vzkaz byl odeslán!"; } ?> Pokdu chceš aby se ti to v prohlížeči ukazovalo stejně jako v souboru nahraď $zprava = "\n" . $_POST['zprava'] . "\n"; za $zprava = "<br>" . $_POST['zprava'] . "<br>"; . TAbulka bude fungovat na podobnym principu.
------Do tabulky----- Napiš do Vzkaz.php <meta charset="UTF-8"> <form method="post"> Napište nám<br> <textarea name="zprava" rows="5" cols="30" placeholder="Sem napište svůj vzkaz"></textarea><br><input type="submit" value="Odeslat vzkaz!"></form> <?php if($_POST['zprava'] != ''){ $zprava = "<tr><td>" . $_POST['zprava'] . "</td></tr>\n"; $ulozit = fopen("vzkazy.html", "a"); fwrite($ulozit, $zprava); fclose($ulozit); echo "Váš vzkaz byl odeslán!"; } ?> <head> <meta charset="UTF-8"> <title>Tabulka|Vzkazy</title> </head> <body> <table border="1px"> <tr><td style="background-color: yellow;">Vzkaz</td></tr> Do tabulky si muzes podivat tady: c.jecool.net/codes/tabulkavzkaz.php vzkazy sou pak tady: c.jecool.net/codes/vzkazy.html Píše se to od nejstaršího, neumim to otočit. |
||
DarkMeni Profil |
Coompiik:
Nebylo by špatný nejdřív zkontrolovat isset($_POST["zprava"]) a až potom $_POST["zprava"] != "" , a pak ukázat buď formulář nebo zprávu že komentář byl úspěšně odeslán
Chtělo by to ten vstup ošetřit aspoň přes htmlSpecialChars() , aby si tam návštěvníci nemohli dávat třeba javascriptový kódy a dělat podobnej bordel
Možná by to taky chtělo nějakou ochranu před spamem To ukládání do tabulky, jak si udělal, udělá nedokončenej html kód, prohlížeče si s tim už dneska sice poradí, ale neni to hezký optimusxx123: Tak to se můžeš podívat na ten kód od Coompiika a upravit si některý bezpečnostní věci (přidat htmlspecialchars() , ochranu před spamem, kontrolu jestli uživatel odesílá platnou zprávu (jestli není prázdná) a ták...)
Pro přidávání na začátek souboru - aby se to četlo od nejnovějšího - asi budeš muset otevřít soubor přes fopen v "r+" módu a před fwrite přidat rewind()
$soubor = fopen("soubor.txt", "r+"); rewind($soubor); //Nastaví kurzor na začátek souboru fwrite($soubor, $komentar); fclose($soubor); |
||
Coompiik Profil |
#6 · Zasláno: 12. 1. 2014, 16:06:57
DarkMeni dk za opravu.
|
||
optimusxx123 Profil |
Coompik jo diky moc rpesne toto som potreboval. len mozem sa este spytat? keby som chcel zmenit tlacitko za svoje urobim to tak ze namiesto submitu dam nazov suboru so svojim tlacitkom? a este jedna vec ze ked chcem tento formular presuvat napr pomocou paddingu, kde mam vkladat tento prikaz? alebo keby som chcel aby po zadani udajov a potvrdeni stisknutim tlacitka bol uzivatel presmerovany niekam inde, ako vlozim prelinkovaci prikaz?
|
||
DarkMeni Profil |
optimusxx123:
„keby som chcel zmenit tlacitko za svoje“ To můžeš myslim že nastylovat v css, ale nevim přesně, jak to myslíš „chcem tento formular presuvat napr pomocou paddingu, kde mam vkladat tento prikaz“ buď do stylů nebo css souboru „stisknutim tlacitka bol uzivatel presmerovany niekam inde, ako vlozim prelinkovaci prikaz“ JakPsátWeb - Přesměrování stránky buď meta tagem refresh nebo přes php funkci header a odesláním přesměrovávací http hlavičky <meta http-equiv="refresh" content="2;url=http://jina_adresa.cz/cokoliv"> <!-- ta dvojka je počet vteřin, než se stránka přesměruje --> header("Location: http://jina_adresa.cz/cokoliv"); Kombinovat html s php mi přijde takový složitější, když sem s php začínal, tak mi přišlo přehlednější čistý php (na začátku jedna otevírací značka <?php a na konci zavírací ?> a pak už jen php kód) s vypisováním html přes echo, ale tak někomu se to zase může zdát přehlednější takto |
||
Coompiik Profil |
#9 · Zasláno: 12. 1. 2014, 21:47:22 · Upravil/a: Coompiik
Jo dark meni, if($_POST['zprava'] != '') konttoluje jestli zprava neni prazdna
A vyborne si [#8] popsal, i ja bych to pochopil |
||
DarkMeni Profil |
Coompiik:
„A vyborne si [#8] popsal, i ja bych to pochopil“ Dík :-D „if($_POST['zprava'] != '') konttoluje jestli zprava neni prazdna“ To jo, ale nekontroluje jestli ta proměnná (v tomto případě $_POST s indxem 'zprava') už existuje, to řeší ten isset, nebo kdyžtak empty() snad řeší oboje
Kdyby neexistovala a ty bys to zkoušel porovnat, tak to v případě zapnutýho vypisování chyb vypíše varování, že proměnná neexistuje, i když si uživatel jen načte formulář a de ho teprve vyplňovat |
||
Kubo2 Profil |
#11 · Zasláno: 12. 1. 2014, 23:02:23
DarkMeni:
Nevypíše varovanie, iba notice (poznámku) - úroveň E_NOTICE. |
||
optimusxx123 Profil |
#12 · Zasláno: 14. 1. 2014, 23:20:38 · Upravil/a: Moderátor (editace znemožněna) 15. 1. 2014, 02:34:08
diky moc za rady chalani :)
chcel by som sa ale ešte spýtať jednu vec, ak mam takýto zdroják na formulár <form method="post" enctype="multipart/form-data" action="https://www.xxxx.com"> <table cellspacing="0px" cellpadding="3" border="0px" style="margin:auto"> <tr> <td style="text-align:right">Váš kód</td> <td><input type="password" name="password" style="padding:5px 5px;width:150px" class="uniform"></td> </tr> <tr> <td></td> <td align="left"> <input type="submit" value="Odoslať" style="font-size:15px;" class="skinButton medium skinButton-style1"> </td> </tr> </table> </form> Moderátor jenikkozak: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na
![]() |
||
jenikkozak Profil |
#13 · Zasláno: 15. 1. 2014, 02:36:49
Nejspíš ano, ale lepší bude, když napíšeš, čeho vlastně chceš dosáhnout.
|
||
Časová prodleva: 11 let
|
0