Autor | Zpráva | ||
---|---|---|---|
RobertH Profil |
#1 · Zasláno: 29. 11. 2008, 11:01:45
Zdravim,
nevim jak zapsat do kodu aby mi probehla kontrola nekterych poli ve formulari pred odeslanim a popripadne neodeslat. Hledal sem tady po diskusi, ale nenasel sem nic co by mi pomohlo nebo sem hledal spatne... Nize zasilam kod pro predstavu: <?php |
||
RobertH Profil |
#2 · Zasláno: 29. 11. 2008, 11:06:22
... zbytek kodu:
$zprava .="<td>:</td>"; $zprava .="<td>$note</td>"; $zprava .="</tr>"; $zprava .="<tr>"; $zprava .="<td> </td>"; $zprava .="</tr>"; $zprava .="<tr>"; $zprava .="<td> </td>"; $zprava .="<td><b>Celková cena</b></td>"; $zprava .="<td>:</td>"; $zprava .="<td>$sum</td>"; $zprava .="</tr>"; $zprava .="<tr>"; $zprava .="<td height=\"21\" colspan=\"4\" bgcolor=\"#CCCCCC\"></td>"; $zprava .="</tr>"; $zprava .="</table>"; $zprava .= "</body>\n"; $zprava .= "</html>\n"; $valid = 1; $file_size = $_FILES['fileatt']['size']; $file_name = $_FILES['fileatt']['name']; $file_type = $_FILES['fileatt']['type']; if ($file_size > 0) $att_present = true; if($att_present) { if($file_size > $max_att) { $valid = 0; $err_msg .= "<p>Příloha je větší než povolených $max_att bajtĹŻ"; } if ( $file_type != 'text/plain' // TXT && $file_type != 'text/html' // HTM && $file_type != 'text/html' // HTML && $file_type != 'image/gif' // GIF && $file_type != 'image/jpeg' // JPG JPEG && $file_type != 'image/pjpeg' // JPG JPEG && $file_type != 'image/png' // PNG && $file_type != 'image/x-icon' // ICO && $file_type != 'application/msword' // DOC && $file_type != 'application/excel' // XLS && $file_type != 'application/rtf' // RTF && $file_type != 'application/octet-stream' // DOC && $file_type != 'application/x-zip-compressed' // ZIP && $file_type != 'application/zip' // ZIP && $file_type != 'application/pdf' // PDF && $file_type != 'application/eps' // EPS && $file_type != 'application/ai' // AI && $file_type != 'application/cdr' // CDR && $file_type != 'application/postscript' // PS ) { // PDF $valid = 0; $err_msg .= "<p>Skript nepodporuje tento typ souboru $file_type"; } $dots = substr_count($file_name,'.'); if($dots != 1) { $valid = 0; $err_msg .= "<p>Skript nepodporuje tento typ souboru. $dots"; } $extension = strtolower(strstr($file_name,'.')); if ( $extension != ".txt" && $extension != ".htm" && $extension != ".html" && $extension != ".gif" && $extension != ".jpg" && $extension != ".jpeg" && $extension != ".png" && $extension != ".ico" && $extension != ".doc" && $extension != ".xls" && $extension != ".rtf" && $extension != ".zip" && $extension != ".pdf" && $extension != ".eps" && $extension != ".ai" && $extension != ".cdr" ) { $valid = 0; $err_msg .= "<p>Skript nepodporuje extenzi $extension"; } $p = strlen($extension); if($p != 4 && $p != 5) { $valid = 0; $err_msg .= "<p>PĹ™Ăloha má pĹ™Ăliš dlouhĂ˝ název. $p"; } if($valid == 1){ $fileatt = $_FILES['fileatt']['tmp_name']; $hlavicka = "From: $odKoho"; if(is_uploaded_file($fileatt)) { $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $hlavicka .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; $zprava = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/html; charset=$chrset\n" . "Content-Transfer-Encoding: 7bit\n\n" . $zprava . "\n\n"; $data = chunk_split(base64_encode($data)); $zprava .= "--{$mime_boundary}\n" . "Content-Type: {$file_type};\n" . " name=\"{$file_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" . "--{$mime_boundary}--\n"; } $zprava = StripSlashes($zprava); $sent = @mail($emailadr, $predmet, $zprava, $hlavicka); if($sent) header("Location: razitka_objednavka_potvrzeni.html"); else echo "<h1>Formulář se nezdaĹ™ilo odeslat</h1>"; } if($valid!==1) { echo "<h2>Chyba...</h2>$err_msg"; echo "<p>Klikn?te na zp?t a zkuste znovu"; } } else { // $zprava = StripSlashes($zprava); $sent = @mail($emailadr, $predmet, $zprava, $hlavicka); if($sent) header("Location: razitka_objednavka_potvrzeni.html"); else echo "<h1>Formulář se nezdaĹ™ilo odeslat</h1>"; } ?> </body> </html> |
||
Taps Profil |
#3 · Zasláno: 29. 11. 2008, 11:15:17
RobertH
ten kod se mi nechce celý procházet tak ti poradím kontrolu zda je pole prázdné if($_POST['nazev']==""){ echo "hodnota je prázdná" } nebo if(empty($_POST['nazev'])) echo "polozka je prázdná"; |
||
RobertH Profil |
#4 · Zasláno: 29. 11. 2008, 11:22:40
diky za odpoved, jen jestli jeste muzu kam mam umistit ten kod? kdyz sem to nekam dal, tak se mi email normalne odesle i s nevyplnenym polem.
pouzil sem tu druhou variantu: if(empty($_POST['firm_email'])) echo "polozka je prázdná"; |
||
pEeLL Profil |
#5 · Zasláno: 29. 11. 2008, 11:25:54 · Upravil/a: pEeLL
proste tam kde mas
$name=$_POST['firm_name']; pridas podminku if (isset($_POST['firm_name']) && $_POST['firm_name'] != "") $name=$_POST['firm_name']; else $stop = 1; a pak pred odeslanim na mail zkontrolujes $stop if ($stop != 1) mail() else asi zobrazit formular a rict co je potreba dolnit/zmenit |
||
RobertH Profil |
#6 · Zasláno: 29. 11. 2008, 11:35:45
podminku jsem pridal, ale mam problem s tim zkontrolovam stop pred odeslanim
davam to sem: } if ($stop != 1); mail(); else echo "asi zobrazit formular a rict co je potreba dolnit/zmenit"; $zprava = StripSlashes($zprava); $sent = @mail($emailadr, $predmet, $zprava, $hlavicka); if($sent) header("Location: razitka_objednavka_potvrzeni.html"); else echo "<h1>Formulář se nezdaĹ™ilo odeslat</h1>"; } if($valid!==1) { echo "<h2>Chyba...</h2>$err_msg"; echo "<p>Klikn?te na zp?t a zkuste znovu"; } } else { // nenĂ pĹ™Ăloha $zprava = StripSlashes($zprava); $sent = @mail($emailadr, $predmet, $zprava, $hlavicka); if($sent) header("Location: razitka_objednavka_potvrzeni.html"); else echo "<h1>Formulář se nezdaĹ™ilo odeslat</h1>"; } ?> </body> </html> ale pise mi to chybu: Parse error: syntax error, unexpected T_ELSE in /web/htdocs/rhdesigncz/www/test/mailer.php on line 287 Nevis co s tim? V PHP jsem zacatecnik a kod sem sestavoval z ruznych tutorialu, tak proto ty "priblbly" otazky. |
||
pEeLL Profil |
#7 · Zasláno: 29. 11. 2008, 11:47:42 · Upravil/a: pEeLL
if ($stop != 1){ $zprava = StripSlashes($zprava); $sent = @mail($emailadr, $predmet, $zprava, $hlavicka); if($sent) header("Location: razitka_objednavka_potvrzeni.html"); else echo "<h1>Formulář se nezdařilo odeslat</h1>"; } else { echo "asi zobrazit formular a rict co je potreba dolnit/zmenit"; } budes se muset naucit alespon ty if/else |
||
RobertH Profil |
#8 · Zasláno: 29. 11. 2008, 12:02:33
Tak uz sem z toho jelen, ted mi to hazi chybu: Parse error: syntax error, unexpected $end in /web/htdocs/rhdesigncz/www/test/mailer.php on line 305 Coz je uplne posledni radek "?>"
} if ($stop != 1){ $zprava = StripSlashes($zprava); $sent = @mail($emailadr, $predmet, $zprava, $hlavicka); if($sent) header("Location: razitka_objednavka_potvrzeni.html"); else echo "<h1>Formulář se nezdaĹ™ilo odeslat</h1>"; } else { echo "asi zobrazit formular a rict co je potreba dolnit/zmenit"; } if($valid!==1) { echo "<h2>Chyba...</h2>$err_msg"; echo "<p>Klikn?te na zp?t a zkuste znovu"; } } else { // nenĂ pĹ™Ăloha $zprava = StripSlashes($zprava); $sent = @mail($emailadr, $predmet, $zprava, $hlavicka); if($sent) header("Location: razitka_objednavka_potvrzeni.html"); else echo "<h1>Formulář se nezdaĹ™ilo odeslat</h1>"; } ?> |
||
pEeLL Profil |
#9 · Zasláno: 29. 11. 2008, 13:40:42 · Upravil/a: pEeLL
nekde jsi zapomnel asi ukoncit if/ else zkontroluj si {}
|
||
RobertH Profil |
#10 · Zasláno: 29. 11. 2008, 22:20:57
Super, diky moc! Uz to vsechno beha jak ma. Je videt, ze se mam jeste hodne co ucit.
Jeste jednou diky... |
||
Časová prodleva: 15 let
|
0