Comunitatea PHP Romania
MightyDeals

Prima pagină Web HTML/JavaScript/CSS Validare server-side

Validare server-side

Aici postaţi orice este legat de tehnologiile "client side". HTML, HTML5, XHTML, CSS, CSS3, XML, Standarde
Manual JS: http://www.phpromania.net/jsmanual/index.html

Mesaj Mar Apr 24, 2012 5:33 pm
ovidiujs New Member

Mesaje: 1
Salutare la toata lumea.

Asi avea o intrebare, am un simplu form cu 3 input-uri, nume parola email, si trebuie sa fac validarea in php, nu client-side. Problema e ca vreau ca pentru fiecare eroare, sa apara un hint langa input-ul gresit, eg: langa email-> email-u nu este valid etc.. si asa pentru toate 3 campuri.

Validarea deja am facut-o in php, dar nu stiu cum sa arat utilizatorului mesaju pentru input-u gresit, nu vreau doar sa spun ca a gresit ceva, ci si exact unde a gresit. Prin jQuery am incercat cu $.post dar call-back function imi permite doar 2 variante ca raspunsuri din partea php-ului, pe cand mie imi trebuie cel putin 5.

La sfarsit, cand user-u da submit si toate campurile sunt goale, vreau ca fiecare sa aiba un border rosu si un mesaj specific pentru fiecare pentru ai spune ce si unde a gresit.

Sper sa se inteleaga problema si nu caut script-u facut, si doar idea si functiile pe care trebuie sa le folosesc. Am incercat ca fac un array in php si sa pun in el eventualele erori dar nu stiu care ar fi varianta jquery-ului pentru 'foreach' sau ceva asemanator pentru a citi tot array-ul. Daca stiti cum asi putea proceda pentru a ajunge la ce asi vrea sa fac, v-asi fi recunoscator.

Multumesc.

Mesaj Mar Apr 24, 2012 6:26 pm
MarPlo Senior Member

Mesaje: 706
Localitate: Braila

Salut
Ar merge sa faci in php un array cu erorile, fiecare asociata la id-ul tag-ului unde sa afisezi eroarea:
$array['idtag'] = 'text eroare';

si trimiti array-ul in format JSON:
echo json_encode($array);

Apoi te descurci cu acest JSON in JavaScript.
In javascript, echivalentul la foreach() e for (key in object) , unde "key" e indicele /cheia elementului parcurs, adica id-ul unde sa afisezi eroarea, iar object.key e textul.

Mesaj Mar Apr 24, 2012 8:22 pm
Birkoff Avatar utilizator
Senior Member

Mesaje: 5885
Localitate: Bucuresti

cred ca ceva de genu asta vrei
// setarea valorilor initiale sau preluarea lor din form
$valori = array(
   'nume' => (isset($_POST['nume']) ? trim(strip_tags($_POST['nume'])) : '',
   'subiect' => (isset($_POST['subiect']) ? trim(strip_tags($_POST['subiect'])) : '',
);
// setarea variabilei cu erori
$erori = array(
   'nume' => '',
   'subiect' => '',
);
// daca au fost trimise datele din form se verifica de erori
if ( isset($_POST['submit']) ) {
   if (empty($valori['nume']))
      $erori['nume'] = 'Nu a fost specificat numele';
   if ( empty($valori['subiect']))
      $erori['subiect'] = 'Nu a fost specificat subiectul';
}
// generarea formularului
$form = '<form>
Nume: <input type="text" name="nume" value="' . $valori['nume'] . '"> '.$erori['nume'] . ' <br>
Subiect: <input type="text" name="subiect" value="' . $valori['subiect'] . '"> ' . $erori['subiect'] . '<br>
<input type="submit" name="submit" value="Trimite">
</form>';
// afisarea formularului
echo $form;

Mesaj Dum Apr 14, 2013 12:55 am
Google Bot New Member

Mesaje: 1

Înapoi la HTML/JavaScript/CSS

Copyright © 2001-2013 PHP Romania Gazduire web | Haine online | Gazduire web | Campanii SMS | Gazduire Claus Web | Inregistrare Domenii | Anunturi | Jocuri cu bile
Furnizat de phpBB® Forum Software © phpBB Group
Translation/Traducere: phpBB România
Powered by Simplis