Autor Zpráva
Z3NTIVA
Profil
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
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
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
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
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
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
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
Z3NTIVA:
samozrejme, ze to pisal neisto, kedze si tu este neuviedol zdrojak.

Ta podmienka jasne ze nefunguje, pouzivaj zatvorky
Z3NTIVA
Profil
1) To je mi jasný :)
2) Jak to myslíš ? Závorky ? :)
martin1312
Profil
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
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
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
? :)
Z3NTIVA
Profil
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
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
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
Aha.. už to chápu, pořád ale nevím, jak to napravit :(
jenikkozak
Profil
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
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 ? :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: