iki Posted October 24, 2006 Report Share Posted October 24, 2006 Kā uztaisīt, lai email skriptā ziņojuma sūtītājam obligāti jāaizpilda visi lauki pirms ziņojuma nosūtīšanas? Link to comment Share on other sites More sharing options...
andrisp Posted October 24, 2006 Report Share Posted October 24, 2006 (edited) PHP pusē pārbaudi vai visi vajadzīgie $_POST mainīgie ir aizpildīti (un pareizā formā). Izmanto empty, isset fjas (php.net). Ja nav ok, tad met lietotāju atpakaļ uz formu. Piemēram: header('Location: forma.php?error'); un tajā skriptā, kur forma, ieliekam pārbaudīti: if (isset($_GET['error'])) { echo 'Kautkas nav aizpildiits'; } Ja gribi, lai lietotājam nav jāpārraksta lauki, kurus viņš bija aizpildijas, izmanto, piem., sessijas (sessions). Tipa, ja nav visi lauki aizpildīti, pieglabājam visus vajadzīgos POST datus _SESSION masīvā. Pāradresējam ar header uz skriptu, kas satur formu. Šajā skripā paskatāmies, vai iekš _SESSION masīva ir kādi dati (konkrēti tie dati, kas vajadzīgi tavai formai), ja ir, tad savietojam tos iekš formas. Pēc tam unsetojam (unset) visus tos _SESSION mainīgos. Edited October 24, 2006 by andrisp Link to comment Share on other sites More sharing options...
Grey_Wolf Posted October 24, 2006 Report Share Posted October 24, 2006 if($e-mail != '' && $zina != ''){ Tas tikai straadaas ja GLOBALS ON !!! Nemaci nepareizi.... pareizaak tas sakums buutu shadi : if(trim($_POST['e-mail']) != '' && trim($_POST['zina']) != ''){..... Tikai seit netiek parbaudiits vai tasvispaar ir e-mails.... Un to nu vajadzeetu parbaudiit.... Ja nu lietotaajs peec inerces ierakstijis tikai savu INBOX usernami? ko tad.... P.S. trim() tiek izmantots lai netiktu padoti tikai tuksumi.... jo atstarpes simbols arii ir simbols..... Link to comment Share on other sites More sharing options...
v3rb0 Posted October 24, 2006 Report Share Posted October 24, 2006 (edited) vēl variācija pa tēmu, ja lauki ko gribi pārbaudīt ir vairāk par 2viem. foreach(array('e-mail','zina','subjects','..') as $var) { if(!isset($_POST[$var]) || trim($_POST[$var]) == '') { $failed = true; break; } } if(isset($failed)) { // a ņu ka aizpildi visus } Edited October 24, 2006 by v3rb0 Link to comment Share on other sites More sharing options...
iki Posted October 25, 2006 Author Report Share Posted October 25, 2006 Liels paldies, viss darbojas:) Link to comment Share on other sites More sharing options...
kerz Posted October 25, 2006 Report Share Posted October 25, 2006 Iespējams var arī kaut kā šādi. if (empty($_POST["ieraksts"])) die ("Jāaizpilda lauks ieraksts. uttt..."); Link to comment Share on other sites More sharing options...
Recommended Posts