Autor | Zpráva | ||
---|---|---|---|
panmagor Profil * |
#1 · Zasláno: 3. 4. 2008, 15:42:40
Mám odesílací formulář, který kontroluje obsah textu v inputu pomocí JavaScriptu.. V případě že není něco zadáno, zobrazí se JS hláška. Bohužel dál nevím, jak v PHP zakombinovat, že pokud se zobrazí tato hláška, nemá se obsah zapsat do databáze.. Berte prosím na vědomí, že jsem v PHP naprostý lolek a tímto způsobem se ho učím. Proto bych byl rád, kdyby jste se vyvarovali "slangu" apod.. Já bych to prostě nepochopil :-)
<?php //Pripojeni k databazi, vcetne chybovych hlasek $conn = mysql_connect("server", "user", "heslo"); mysql_query("SET CHARACTER SET utf8"); if(!$conn): echo "Problém s připojováním k db..."; else: $db = mysql_select_db("databaze"); if(!$db): echo "Problém při vybírání db..."; endif; endif; //Kontrola jestli byl formular odeslan if ($odeslane=="ano"){ //Zapis udaju do databaze $dotaz = mysql_query("INSERT INTO formular VALUES('$jmeno', '$email')"); //V pripade ze byl uspech, vypiseme hlasku echo "Děkujeme za odeslání!"; //Pokud se neco nepodarilo, pokracujeme zde.. }else{ //Opet kontrola, jestli bylo odeslano. Jinak se hlaska vypise pri spusteni stranky. if ($odeslane=="ano") if(!$dotaz) echo "Vzkaz se bohužel nepodařilo uložit. Zkuste to jindy. <A HREF='javascript:history.back();'>Zpět</A>"; } ?> |
||
Matty Profil |
#2 · Zasláno: 3. 4. 2008, 15:56:25
panmagor
Co k tomu přidat if ($policko !=='') { --tady dalsi kod-- } else { echo 'Nevyplnili jste políčko'; } |
||
panmagor Profil * |
#3 · Zasláno: 3. 4. 2008, 15:59:48
Nevím, jestli by to takto šlo.. Kontrola se provádí pomocí toho externího JS takto (kontrola na vyplněné jméno):
if(f.jmeno.value == ""){ alert("Nebylo vyplňeno jméno!."); f.spol_nazev.focus(); return false; } |
||
Matty Profil |
#4 · Zasláno: 3. 4. 2008, 16:03:28
panmagor
Já jsem myslel, že by tam byla jak kontrola JS, tak kontrola pomocí PHP. |
||
panmagor Profil * |
#5 · Zasláno: 3. 4. 2008, 16:17:26
A je to... Možná trocu prasácky..
<?php //Pripojeni k databazi, vcetne chybovych hlasek $conn = mysql_connect("", "", ""); mysql_query("SET CHARACTER SET utf8"); if(!$conn): echo "Problém s připojováním k db..."; else: $db = mysql_select_db(""); if(!$db): echo "Problém při vybírání db..."; endif; endif; if ($odeslane=="ano") if ($jmeno ==''|| $email =='') { echo "Vzkaz se bohužel nepodařilo uložit. Zkuste to jindy. <A HREF='javascript:history.back();'>Zpět</A>"; }else{ if ($odeslane=="ano"){ //Zapis udaju do databaze $dotaz = mysql_query("INSERT INTO formular VALUES('$jmeno', '$email')"); //V pripade ze byl uspech, vypiseme hlasku echo "Děkujeme za odeslání!"; //Pokud se neco nepodarilo, pokracujeme zde.. }else{ //Opet kontrola, jestli bylo odeslano. Jinak se hlaska vypise pri spusteni stranky. if ($odeslane=="ano") if(!$dotaz) echo "Vzkaz se bohužel nepodařilo uložit. Zkuste to jindy. <A HREF='javascript:history.back();'>Zpět</A>"; } } ?> |
||
vertigo4 Profil |
#6 · Zasláno: 3. 4. 2008, 16:25:46
panmagor
chce to ještě ošetřit pomocí fce trim, protože ten tvůj skript selhává, jestliže někdo vloží mezeru |
||
panmagor Profil * |
#7 · Zasláno: 3. 4. 2008, 19:32:17
Speifikujte prosím co myslíte tou mezerou?
|
||
Venca V Profil |
#8 · Zasláno: 3. 4. 2008, 19:39:43
mezera=výsledek stlačení té nejdelší klávesy na klávesnici;-)
|
||
panmagor Profil * |
#9 · Zasláno: 3. 4. 2008, 19:41:18
:-) Já myslel třeba tvrdou mezeru.. že je to bude reagovat na takovou banalitu by mě ani nanapadlo.. Ale máte pravdu..
|
||
panmagor Profil * |
#10 · Zasláno: 3. 4. 2008, 23:04:21
Tak jsem do SQL dotazu zařadil ten trim následovně a zdá se, že to funguje. Akorát je třeba ještě doladit validační hlášku, protože do DB to nezapíše, ale zobrazí že bylo zapsáno :-)
$dotaz = mysql_query("INSERT INTO formular VALUES('$trimmed = trim($jmeno)', '$trimmed = trim($email'))"); |
||
panmagor Profil * |
#11 · Zasláno: 3. 4. 2008, 23:05:41
Jo změna.. Tak teď mi to neuloží nic :-D :-D No nic. Mrku na to zítra. Ráno moudřejší večera
|
||
Časová prodleva: 16 let
|
0