Inscription
natasha82
Messages postés
55
Date d'inscription
Statut
Membre
Dernière intervention
-
natasha82 Messages postés 55 Date d'inscription Statut Membre Dernière intervention -
natasha82 Messages postés 55 Date d'inscription Statut Membre Dernière intervention -
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.
A voir également:
- Inscription
- Wetransfer gratuit sans inscription - Guide
- Twitter inscription - Guide
- Vinted inscription - Guide
- Paypal inscription - Guide
- Instagram inscription - Guide
1 réponse
Bonjour,
Tu t'es trompé dans l'alternance des guillemets et apostrophes.
La fin devrait être
Remarque : le message était explicite à ce sujet
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 as
null(ce qui est le cas lors de ton exécution) cela ferait donc
WHERE NOM_ETU='null'alors que pour l'instant tu as
WHERE NOM_ETU='null"ce qui ne va pas.
Remarque : le message était explicite à ce sujet
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 Servlet.InscrEtudiantServlet.nomEtuExist(InscrEtudiantServlet.java:99)
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
Il faut que tu fasses des tests en amont pour détecter lorsque tu as des valeurs null, ce qui est souvent le cas avec des getParameter lorsque le paramètre n'est pas renseigné.
voici: le test
merci