| Autor | Zpráva | ||
|---|---|---|---|
| tomas2245 Profil |
Zdravím,
prišiel som sem s problémom s ktorým si už druhý rok neviem dať rady... mám objednávkový formulár riešený cez tento PHP + HTML kód: (.php) vyzerá takto: <?php
$meno=$_POST["meno"];
$priezvisko=$_POST["priezvisko"];
$text=$_POST["text"];
$text="
Meno: $meno
Priezvisko: $priezvisko;
$text = preg_replace('/(?:\s*\R\s*){1,}/u', PHP_EOL, $text);
$mail_to = 'moj@mail.sk';
$mail_subject = 'názov';
$headers = 'From: '.$meno. $priezvisko.'' . "\r\n" .
'Reply-To: '.$email.'' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($mail_to, $mail_subject, $text, $headers);
?>normálne po vyplnení polí cca. 95% všetko odošle správne na e-mail. Zvyšných 5% raz za čas sa proste stane, že každý deň príde (min. 1 krát) na mail prázdna správa s tou šablonou (meno+priezvisko). Neviem teda, či to na nejakom prehliadači je chýbne, alebo čo s tým je, preto vás prosím či by ste sa mi na ten kód pozreli. Vopred ďakujem, Tomáš. |
||
| lionel messi Profil |
#2 · Zasláno: 15. 3. 2016, 21:39:46
tomas2245:
Na riadkoch 3, 4 a 6 sa ti pri neexistencii danej superglobálnej premennej vyhodí chybová hláška Notice: Undefined index…, to by ale bol najmenší problém. Za koncom reťazca, ktorý má byť v $text ti chýbajú uzatváracie úvodzovky (zrejme omyl pri prepisovaní kódu, inak by maily pri tejto syntaktickej chybe nechodili vôbec).
Jednoduchá funkcia mail často nestačí, odporúčam zvážiť použitie funkcie z FAQ, prípadne nejaké pokročilejšie hotové riešenie (PHPMailer). |
||
| tomas2245 Profil |
#3 · Zasláno: 15. 3. 2016, 21:44:56
lionel messi:
vďaka za odpoved porozmyslam nad tym riesenim:) |
||
| Keeehi Profil |
#4 · Zasláno: 16. 3. 2016, 00:47:03
tomas2245:
„mail prázdna správa s tou šablonou (meno+priezvisko).“ De tohoto popisu bych to viděl, že nějaký robot co prochází stránky prostě odešle prázdný formulář. Jelikož nikde nekontroluješ vyplnění polí tak stejně prázdného emailu dosáhneš pravděpodobně i tak, že si na tvé stránce klikneš na odeslat formulář aniž bys něco vyplnil. |
||
| tomas2245 Profil |
Keeehi
,,Jelikož nikde nekontroluješ vyplnění polí tak stejně prázdného emailu dosáhneš pravděpodobně i tak, že si na tvé stránce klikneš na odeslat formulář aniž bys něco vyplnil." túto možnosť kontrolujem, ale som ju sem nenapísal... nejako ma to nenapadlo :D |
||
| Keeehi Profil |
#6 · Zasláno: 16. 3. 2016, 09:08:59
tomas2245:
„túto možnosť kontrolujem“ A jak? Kontroluješ taky něco jiného? Chtělo by to ukázat celý kód. |
||
| tomas2245 Profil |
#7 · Zasláno: 16. 3. 2016, 14:28:42
Keeehi:
cez tieto dva scripty, ktoré som našiel niekde na nete.. <script language="JavaScript">
<!-------------
function HideIt() {
document.getElementById('required').style.visibility= "hidden";
document.getElementById('requiredtext').style.visibility= "hidden";
}
function CheckEmptyField( theField, theMessage ) {
if( theField.value=="" ) {
theField.focus();
if(document.getElementById) {
document.getElementById('required').style.visibility= "visible";
document.getElementById('requiredtext').style.visibility= "visible";
document.getElementById('requiredtext').innerHTML= theMessage;
setTimeout( "HideIt()",5000);
} else {
alert(theMessage);
}
return false;
} else {
return true;
}
}
function Validate(theForm) {
if( !CheckEmptyField(theForm.meno,"") ) return false;
if( !CheckEmptyField(theForm.priezvisko,"") ) return false;
if( !CheckEmptyField(theForm.mestoobec,"") ) return false;
if( !CheckEmptyField(theForm.ulica,"") ) return false;
if( !CheckEmptyField(theForm.cislodomu,"") ) return false;
if( !CheckEmptyField(theForm.psc,"") ) return false;
if( !CheckEmptyField(theForm.tel,"") ) return false;
// uspech
return true;
}
//-------------->
</script><form method="POST" action="odoslane.php" TARGET="multipart/form-data" ACCEPT-CHARSET="UTF-8" class="form2" onSubmit="return Validate(this);">
<script language="JavaScript"><!-------------
if(document.getElementById) {
document.write('<img ID="required" STYLE="visibility:hidden; position:absolute; left:500px; top: 320px" src="obrazky/upozornenie.gif">');
document.write('<p ID="requiredtext" STYLE="visibility:hidden; position:absolute; left:100; top:155" >abc</p>');
}
</script |
||
| blaaablaaa Profil |
#8 · Zasláno: 16. 3. 2016, 14:37:29
tomas2245:
Kontrola v prohlizeci nestaci, je potreba validovat i na strane serveru v php. |
||
| Keeehi Profil |
#9 · Zasláno: 16. 3. 2016, 17:49:26
Přesně tak jak píše blaaablaaa. Když si v prohlížeči vypneš javascript, bude se ti to chovat asi tak jak to vidí robot. Toho žádný javascript nemusí zajímat.
|
||
| tomas2245 Profil |
blaaablaaa , Keeehi:
vďaka za pomoc chalani, niečo už vymyslím.. :) |
||
|
Časová prodleva: 10 let
|
|||
0