Formular PHP

Discuţii diverse, dar centrate pe subiecte IT.
Reguli forum
Aveti o problema si vreti sa primiti ajutor? Click aici ! Nu uitati si de regulamentul forumului !
Avatar utilizator
Brindusa
Utilizator înregistrat
Mesaje: 29
Membru din: 26-Noi-2004, 13:14:58
Ext: Nu
Server: Windows
Nivel phpBB: Mediu
Nivel php: Mediu
Localitate: Gura Humorului
Contact:

Formular PHP

Mesaj de Brindusa »

Salut,

Am nevoie de o mana de ajutor.
Vreau sa fac un formular de comanda, iar datele introduse sa fie trimise prin mail.
As vrea sa-l "fortez" pe cel care face comanda sa completeze toate campurile forumularului. Mai exact, daca nu a completat un camp (numele sa zicem) sa-i apara un mesaj de avertizare de genul: "
Va rugam completati numele".

Merci.
Avatar utilizator
danielt
AdministratorAdministrator
Mesaje: 1176
Membru din: 18-Oct-2002, 13:02:29
Versiune: 3.0.5
Ext: Nu
Server: UNIX/Linux
Nivel phpBB: Mediu
Nivel php: Mediu
Localitate: Timişoara
Contact:

Mesaj de danielt »

Treaba asta se face folosind Java Script. Spre exemplu ai un forumlar cu trei campuri: nume, varsta si adresa de email, carora le zici: name="nume" ; name="varsta", name="email". Formularul va fi name="formular". codul java script va fi ceva de genul:

Cod: Selectaţi tot

function trimite() {
	//verific numele destinatarului
    if (document.formular.nume.value.length < 2) {
        alert("Numele dvs. este obligatoriu!")
        document.formular.nume.focus();
        return false;
    }

    // verific formatul varstei
	if ((document.formular.varsta.length > 2) || (document.formular.varsta.value.search(/^[\-\.\/0-9]+$/) < 0)) {
		alert("Nu ati completat corect varsta!");
		document.formular.varsta.focus();
		return false;
	}

    // verific formatul emailului
    if ((document.formular.email.length == 0) || (document.formular.email.value.search(/^[\-\.\w]*@[a-zA-Z0-9][\-\.\w]*\.[a-zA-Z]{2,3}$/) < 0)) {
        alert("Adresa de email este incorecta sau necompletata!");
        document.formular.email.focus();
        return false;
    }

    document.formular.submit();
    return true;
}
Pentru a accesa functia trimite va trebui ca in tag-ul form sa incluzi: onsubmit="return trimite(this)"

Cam atat ar fi tot ce trebuie facut :-)
Avatar utilizator
Brindusa
Utilizator înregistrat
Mesaje: 29
Membru din: 26-Noi-2004, 13:14:58
Ext: Nu
Server: Windows
Nivel phpBB: Mediu
Nivel php: Mediu
Localitate: Gura Humorului
Contact:

Mesaj de Brindusa »

Salut,

Eu vreau sa folosesc functia mail() din PHP. Am facut formularul si stiu sa folosesc functia mail(). Doar ca nu stiu cum sa verific daca toate campurile au fost completate si cum sa afisez mesajul de atentionare. :cry:

Merci.
Avatar utilizator
danielt
AdministratorAdministrator
Mesaje: 1176
Membru din: 18-Oct-2002, 13:02:29
Versiune: 3.0.5
Ext: Nu
Server: UNIX/Linux
Nivel phpBB: Mediu
Nivel php: Mediu
Localitate: Timişoara
Contact:

Mesaj de danielt »

Functia mail se executa dupa trimiterea formularului. Prin urmare trebuie sa verifici campurile inainte de trimiterea formularului. Acest lucru se poate face cu functia java script de mai sus. Sigur, poti concepe un cod in php care sa verifice adresa de email si daca nu exista sa faci o redirectare la pagina anterioara, dar este mult mai rapida o verifica la utilizator a campurilor si nu pe server :-)
Avatar utilizator
Brindusa
Utilizator înregistrat
Mesaje: 29
Membru din: 26-Noi-2004, 13:14:58
Ext: Nu
Server: Windows
Nivel phpBB: Mediu
Nivel php: Mediu
Localitate: Gura Humorului
Contact:

Mesaj de Brindusa »

Salut,

Merci pentru ajutor. Am reusit pana la urma.
Scrie răspuns

Înapoi la “Diverse”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 1 vizitator