Inscription
natasha82
Messages postés
73
Statut
Membre
-
natasha82 Messages postés 73 Statut Membre -
natasha82 Messages postés 73 Statut Membre -
Bonsoir
j'ai une page jsp pour le formulaire et une servlet sachant que cette inscription est sécurisé seulement les étudiant ayant inscris je veux ceux qui figure sur la base de donnée (ajouté par l'administateur qui peuvent s'inscrire pour avoir un compte)
mais j'ai une erreur je sais pas comment la corriger : voici la servlet:


et aussi la page jsp:
et voici l'erreru qui s'affiche:
GRAVE: null
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''null"' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)
at Servlet.InscrEtudiantServlet.nomEtuExist(InscrEtudiantServlet.java:99)
at Servlet.InscrEtudiantServlet.doPost(InscrEtudiantServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
pouvez vous m'aider merci.
j'ai une page jsp pour le formulaire et une servlet sachant que cette inscription est sécurisé seulement les étudiant ayant inscris je veux ceux qui figure sur la base de donnée (ajouté par l'administateur qui peuvent s'inscrire pour avoir un compte)
mais j'ai une erreur je sais pas comment la corriger : voici la servlet:


et aussi la page jsp:
<%--
Document : inscri
Created on : 7 mars 2015, 22:05:04
Author : CBS-COMPUTER
--%>
<%@page import="Servlet.EtudiantBeans"%>
<%@page import="java.util.Iterator"%>
<%@page import="metier.Etudiant"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="css/forme.css" type="text/css" charset="utf-8" />
<title>JSP Page</title>
<script language="javascript">
<!--
function verif()
{mes="";
if(document.ins.nom.value==''){mes=mes+"\n-Il Veuillez entrez votre Numero Etudaint";}
else {var expnom = new RegExp("^[a-zA-Z]{1,}");
if(!expnom.test(document.ins.nom.value)) {mes=mes+"\n - Numero Etudaint saisie n'est pas conforme";} }
if(document.ins.prenom.value==''){mes=mes+"\n-Il Veuillez entrez votre Spécialité";}
else {var exprenom = new RegExp("^[a-zA-Z]{1,}");
if(!exprenom.test(document.ins.prenom.value)) {mes=mes+"\n - La Spécialité saisie n'est pas conforme";} }
if(document.ins.mail.value==''){mes=mes+"\n-Il Veuillez entrez votre adresse de messagerie ";}
else {var regexp = new RegExp("^[a-zA-Z0-9_\\-\\.]{2,}@[a-zA-Z0-9\\-_]{2,}\\.[a-zA-Z]{2,4}$", "g");
if(!regexp.test(document.ins.mail.value)) {mes=mes+"\n - L'adresse e-mail n'est pas valide!";} }
if(document.ins.tel.value==''){mes=mes+"\n-Il Veuillez entrez la Spécialité ";}
else {var reg = new RegExp("^[a-zA-Z]{1,}");
if(!reg.test(document.ins.tel.value)) {mes=mes+"\n - Le numero de telephone n'est pas valide!";} }
if(document.ins.psw.value==''){mes=mes+"\n-Il Veuillez entrez un mot de passe ";}
if(document.ins.cpsw.value==''){mes=mes+"\n-Il Vous devez confirmer votre mot de passe ";}
if(document.ins.psw.value!=document.ins.cpsw.value){mes=mes+"\n-Il Veuillez saisir le meme mot de passe";}
if(mes!=''){alert("ERROR :"+mes);return false;}else{return true;}
}
</script>
</head>
<body>
<div id="general">
<div id="general">
<div id="entete">
<div id="logo">
<br/>
<marquee>
<h2> Bienvenue dans L'espace Numérique De Travail de l'UMMTO </h2>
</marquee>
</div>
<div id="menu-haut">
<span id="acc"> <a href="index.jsp"title=" Rotour a la page d'accueil"> Accueil </a></span>
<span id="ident"><a href="inscri.jsp" title="Inscrir si vous etez pas deja inscrire"> Inscription </a></span>
<span id="ins"><a href="authen.jsp"title=" Acceder a votre espace"> Cours </a></span>
<span id="cont"><a href="a propos.jsp" title=" plus d'information"> A propos </a></span>
<span id="acce"> <a href="cours.jsp" title=" cours à télécharger"> Aide</a></span>
</div>
</div>
<div id="principal">
<div id="ins-zone">
<form name="ins" id="ins" action="Inscri" method="POST" onSubmit="return verif()">
<label id="obli">Tous les champs sont obligatoire </label>
<fieldset class="zone1"><legend>Formulaire d'inscription</legend>
<p class="present">
<label for="nom">Nom </label>
</p>
<p class="present">
<label for="pre">Prenom</label>
</p>
<p class="present">
<label for="adress">Adress </label>
</p>
<p class="present">
<label for="lieu de naissance">lieu naissance </label>
</p>
<p class="present">
<label for="email">email</label>
</p>
<p class="present">
<label for="login">login</label>
</p>
<p class="present">
<label for="mot de passe">mot de passe</label>
</p>
</fieldset>
<fieldset class="zone2">
<p>
<input name="nom" type="text" name="nom_etu" size="30" />
</p>
<p>
<input type="text" name="prenom_etu" size="30" />
</p>
<p>
<input type="text" name="adres_etu" size="15" />
</p>
<p>
<input type="text" name="lieu_naiss_etu" size="30" />
</p>
<p>
<input type="text" name="email" size="15" />
</p>
<p>
<input type="text" name="login_etu" size="30" />
</p>
<p>
<input type="text" name="psw_etu" size="30" />
</p>
</fieldset>
<p class="submit">
<button type="submit" value="Valider">Créer mon compte</button>
</p>
</form>
<table border="0" />
<tr>
</tr>
</table>
<p class="submit">
<form name="ins" id="ins" action="compteEtu" method="POST"/>
<input type="hidden" name="action" value="créer mon compte"/>
<button type="reset">Annuler</button>
</form>
</p>
</div>
</div>
</div>
</body>
</html>
et voici l'erreru qui s'affiche:
GRAVE: null
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''null"' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)
at Servlet.InscrEtudiantServlet.nomEtuExist(InscrEtudiantServlet.java:99)
at Servlet.InscrEtudiantServlet.doPost(InscrEtudiantServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
pouvez vous m'aider merci.
1 réponse
-
Bonjour,
Tu t'es trompé dans l'alternance des guillemets et apostrophes.executeQuery("SELECT * FROM etudiant WHERE NOM_ETU='"+NOM_ETU+'"');
La fin devrait être+"'");
. Ainsi dans le cas où tu asnull
(ce qui est le cas lors de ton exécution) cela ferait doncWHERE NOM_ETU='null'
alors que pour l'instant tu asWHERE NOM_ETU='null"
ce qui ne va pas.
Remarque : le message était explicite à ce sujetYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''null"' at line 1
at Servlet.InscrEtudiantServlet.nomEtuExist(InscrEtudiantServlet.java:99)-
Bonjour,
j'ai modifier la condition comme ça :
ResultSet rs = cn.createStatement().executeQuery("SELECT * FROM etudiant WHERE NOM_ETU ='"+NOM_ETU+"'")
mais j'ai toujour une erreur qui s'affiche : la voila
INFOS: The start() method was called on component [StandardEngine[Catalina].StandardHost[localhost].StandardContext/EspaceNumeri] after start() had already been called. The second call will be ignored.
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'pswrd_etu' cannot be null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1016)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2543)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1737)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:998)
at Servlet.InscrEtudiantServlet.addEtud(InscrEtudiantServlet.java:105)
at Servlet.InscrEtudiantServlet.doPost(InscrEtudiantServlet.java:65)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
merci de me répondre -
-
Bonsoir, je l'ai régler mais la ou j'ai fait le test pour verifier si le nom existe alor l'inscription sera validé si non il lui renvoi un message d'erreur mais elle fonctionne pas car si je donne autre nom il l'accepte et l'inscription sera validé cette insciption est reservé juste pour ceux qui sont inscris sur la bdd par l'administrateur
voici: le test
try {
if (!nomEtuExist(NOM_ETU))
{
Compte c= new Compte(1,LOGIN_ETU,PASWRD_ETU);
addEtud(c);
request.getRequestDispatcher("espace_Etudiant.jsp").forward(request, response);
}
else{
request.getRequestDispatcher("index.jsp").forward(request, response);
} } catch (ClassNotFoundException ex) {
Logger.getLogger(InscrEtudiantServlet.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(InscrEtudiantServlet.class.getName()).log(Level.SEVERE, null, ex);
}
}
merci
-