Autor | Zpráva | ||
---|---|---|---|
Z3NTIVA Profil |
#1 · Zasláno: 27. 5. 2012, 16:18:06
Zdravím... mám problém zde : http://www.hoscer.cz/posli.php
1) jakmile najedu na stránku, skript už se hodnotí, i kdzž sjem ještě nic neodeslal.. 2) jak udělat, aby se po kliknutí do pole smazalo pismo v ni ( value) Díky |
||
panther Profil |
#2 · Zasláno: 27. 5. 2012, 16:19:56
Z3NTIVA:
„jakmile najedu na stránku, skript už se hodnotí, i kdzž sjem ještě nic neodeslal..“ nechápu „jak udělat, aby se po kliknutí do pole smazalo pismo v ni ( value)“ klíčová slova pro tebe budou this.value a defaultValue
|
||
Z3NTIVA Profil |
#3 · Zasláno: 27. 5. 2012, 16:29:35
1) no, zkus jít třeba na položku home, a pak anjednou kliknout na poptavka, najednou se nahoře vyhodi echo, i když jsem formulář ještě neodeslal ( aspon me se to tak chová )
2) neco mí říká, hlavně to this, vím že dřív sem to používal často, ale víc jak rok už jsem nic v php ani js nedělal |
||
panther Profil |
#4 · Zasláno: 27. 5. 2012, 16:38:28
Z3NTIVA:
„no, zkus jít třeba na položku home, a pak anjednou kliknout na poptavka“ těžko říct, do PHP ti nikdo nevidí. Máš tam někde špatnou podmínku. Nevím, co očekáváš za odpověď, pokud je problém se serverovým scriptem. „neco mí říká“ výborně, takže zbytek si jistě dohledáš. Při zadání správných klíčových slov do vyhledávače najdeš i celé (jednořádkové) návody, jak tohoto docílit. |
||
Han Profil |
Čo sa týka skriptu formulára, pravdepodobne tam chýba nejaká podmienka ako
<input type="submit" name="odoslane" ..> if (isset($_POST['odoslane'])) { .. } |
||
Z3NTIVA Profil |
#6 · Zasláno: 27. 5. 2012, 19:14:50
Tak ten problém s javascriptem už mám vyřešený, ten se samotným spracováním formuláře zustava. PHP vypada takto:
<? $predmet = $_POST['predmet']; $email = $_POST['email']; $spam = $_POST['spam']; $zprava = $_POST['zprava']; if ($predmet!="" or $predmet!="Předmět" and $email!="" or $email!="Váš@mail" and $zprava!="" or $zprava!="Zpráva..." and $spam=="2") { Mail("cerhos.studio@gmail.com", $predmet, $zprava, "From: " . $email); echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>"; } else { echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>"; } ?> |
||
martin1312 Profil |
[#5] Han
EDIT: toto je tiez zaujimave riesenie podmienky: if ($predmet!="" or $predmet!="Předmět" and $email!="" or $email!="Váš@mail" and $zprava!="" or $zprava!="Zpráva..." and $spam=="2") |
||
panther Profil |
#8 · Zasláno: 27. 5. 2012, 19:17:50
Z3NTIVA:
řešení ti napsal Han, proč jej ignoruješ? Nikde nekontroluješ, zda byl odeslán formulář, takže tam máš mj. sadu nedefinovaných proměnných, resp. klíčů (ř. 2-5). |
||
Z3NTIVA Profil |
#9 · Zasláno: 27. 5. 2012, 19:39:20
Psal to tak jako by si tím nebyl jistý, a já to moc nepochopil, nicméně, zkusil jsem to nějak takto:
<? if (isset($_POST['odeslane'])) { $predmet = $_POST['predmet']; $email = $_POST['email']; $spam = $_POST['spam']; $zprava = $_POST['zprava']; if ($predmet!="" or $predmet!="Předmět" and $email!="" or $email!="Váš@mail" and $zprava!="" or $zprava!="Zpráva..." and $spam=="2") { Mail("cerhos.studio@gmail.com", $predmet, $zprava, "From: " . $email); echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>"; } else { echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>"; }} ?> A dělá to následující: 1) vubec nefunguje podminka : if ($predmet!="" or $predmet!="Předmět" and $email!="" or $email!="Váš@mail" and $zprava!="" or $zprava!="Zpráva..." and $spam=="2")
Když kliknu na doeslat a nic neupravím odešle se to. 2) pozitivum - už to neodesílá když nezmáčknu submit button :) Díky Hane a panthere... |
||
martin1312 Profil |
#10 · Zasláno: 27. 5. 2012, 19:48:28
Z3NTIVA:
samozrejme, ze to pisal neisto, kedze si tu este neuviedol zdrojak. Ta podmienka jasne ze nefunguje, pouzivaj zatvorky |
||
Z3NTIVA Profil |
#11 · Zasláno: 27. 5. 2012, 19:52:13
1) To je mi jasný :)
2) Jak to myslíš ? Závorky ? :) |
||
martin1312 Profil |
#12 · Zasláno: 27. 5. 2012, 20:01:59
myslel som to takto:
if (($predmet!="" or $predmet!="Předmět") and ($email!="" or $email!="Váš@mail") and ($zprava!="" or $zprava!="Zpráva...") and $spam=="2") ale teraz ked sa nad tym zamyslam, nema byt vsade operator and ?
|
||
panther Profil |
#13 · Zasláno: 27. 5. 2012, 20:03:58
martin1312:
„ale teraz ked sa nad tym zamyslam, nema byt vsade operator and ?“ měl by být. Podmínka $predmet!="" or $predmet!="Předmět" bude vždy true . Závorky pak budou zbytečné.
|
||
Z3NTIVA Profil |
#14 · Zasláno: 27. 5. 2012, 20:05:38 · Upravil/a: Z3NTIVA
Asi máš pravdu... Ale takhle by to šlo taky ne ?
Aha Tak jsem to upravil, ted to pro změnu nevypisuje nic :( Chjo... PHP: <? if (isset($_POST['odeslane'])) { $predmet = $_POST['predmet']; $email = $_POST['email']; $spam = $_POST['spam']; $zprava = $_POST['zprava']; if ($predmet!="" and $predmet!="Předmět" and $email!="" and $email!="Váš@mail" and $zprava!="" and $zprava!="Zpráva..." and $spam=="2") { Mail("cerhos.studio@gmail.com", $predmet, $zprava, "From: " . $email); echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>"; } else { echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>"; }} ?> Vážně nevíte v čem je háček ? :) Dík |
||
Z3NTIVA Profil |
#15 · Zasláno: 28. 5. 2012, 22:30:00
? :)
|
||
Časová prodleva: 4 dny
|
|||
Z3NTIVA Profil |
#16 · Zasláno: 1. 6. 2012, 20:06:27
Prosím, vážně nikdo neví ? Nechci zakládat nové téma, ale formulář stále nefunguje, jak by měl... Dík moc
|
||
Davex Profil |
#17 · Zasláno: 1. 6. 2012, 21:10:04
Z3NTIVA:
Když si vypíšeš var_dump($_POST) , tak zjistíš, že počáteční podmínka nemůže být nikdy splněna.
|
||
Z3NTIVA Profil |
#18 · Zasláno: 1. 6. 2012, 21:17:00
Aha, díky, a jak je to možné ?
|
||
Davex Profil |
Protože je odesílací tlačítko obrázek a odesílají se souřadnice kliknutí. Viz druhou tabulku v kapitole o
<input> u Formuláře » input.
|
||
Z3NTIVA Profil |
#20 · Zasláno: 1. 6. 2012, 21:46:06
Aha.. už to chápu, pořád ale nevím, jak to napravit :(
|
||
jenikkozak Profil |
#21 · Zasláno: 2. 6. 2012, 10:18:01
Z3NTIVA:
Druhý řádek: if (isset($_POST['odeslane'])) { nahraď podmínkou, která by testovala existenci jednoho z těch povinných políček. Jak znám tvou lenost, raději ti to napíšu sám: if (isset($_POST['email'])) { . Něco ti, Jakube, poradím - nedělej věci, kterým vůbec nerozumíš.
|
||
Z3NTIVA Profil |
#22 · Zasláno: 2. 6. 2012, 11:05:07
Díky, v tomhle případě stačil první řádek, ale o to víc ti děkuji :)
Plno lidí mi říkalo, že nejlepší způsob, jak se něco naučit, je zkusit to v praxi... Tento způsob se mi zatím osvědčil, tak se ho držím... Za mé občas stupidní otázky se tedy omlouvám, ale každý někdy začínal, ne ? :) |
||
Časová prodleva: 12 let
|
0