Page inaccessible et traitement non realisé

Résolu/Fermé
youka12 Messages postés 1 Date d'inscription mardi 20 mai 2014 Statut Membre Dernière intervention 20 mai 2014 - 20 mai 2014 à 18:47
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 - 26 mai 2014 à 21:19
Bonjour,

j'ai un formulaire qui me dirige vers un fichier ii.php ou je fais le traitement mais il m'affiche une page blanche ii.php je ne sais pas quoi faire


voilà mon code : inscription.php

<form action="ii.php" method="POST">
<fieldset>
<label for="nom"><strong> nom </strong></label>
<input type="text" name="nom" id="nom" />

<label for="prenom"><strong>prénom </strong></label>
<input type="text" name="prenom" id="prenom" />

<label for="prenom"><strong>age </strong></label>
<input type="text" name="age" id="prenom" />

<!--<input type="date" name="date">-->

<label for="email"><strong>e-mail </strong></label>
<input type="email" name="email" id="email" />
<br />
<br />
<label for="prenom"><strong>adresse </strong></label>
<input type="text" name="adresse" id="prenom" />
<br/>
<br />
<label for="prenom"><strong>telephone</strong></label>
<input type="text" name="telephone" id="prenom" />


<label for="pays"><strong>vous etes :</strong></label>
<select name="type" id="pays">
<option value="individuel">individuel</option>
<option value="societé">societé</option>
<option value="groupe">groupe</option>
</select>




<label for="adresse1"><strong>Entrer votre login ! </strong></label>
<input type="texte" name="adresse1" id="adresse1" />





<?php

if(isset($_SESSION['in'])&&($_SESSION['in']==1)){
echo'ce login existe déja!!!';
}


?>





et le code ii.php :

<?php
session_start();
include('connexion.php');



if(isset($_POST['submit'])){


if(isset($_POST['nom'])&&isset($_POST['prenom'])&&isset($_POST['age'])&&isset($_POST['email'])&&isset($_POST['adresse'])&&isset($_POST['telephone'])&&isset($_POST['type'])&&isset($_POST['login'])&&isset($_POST['passe'])&&isset($_POST['passe1'])){

$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$age=$_POST['age'];
$mail=$_POST['email'];

$adresse=$_POST['adresse'];
$telephone=$_POST['telephone'];
$type=$_POST['type'];
$login=$_POST['login'];
$passe=$_POST['passe'];
$passe1=$_POST['passe1'];

$date=date("d-m-Y");





$sel='SELECT * FROM 'compteclient' WHERE 'login' = "'.$login.'" ';
$exe=mysql_query($sel);


if (mysql_num_rows($exe)==1){
$_SESSION['in']=0;
header('location:inscription.php');
}
else{
if($passe==$passe1){
$ins="INSERT INTO 'compteclient'('NComCli', 'nom', 'prenom', 'login', 'motDePasse', 'Type', 'dateCre', 'adresse', 'tel') VALUES ('','.$nom.','$prenom','$login','$passe','$type','$date','$adresse','$telephone')";
$ex=mysql_query($ins);
if($ex){$_SESSION['in']=1;
header('location:compteclient.html');}
}
else{
$_SESSION['in']=2;
header('location:inscription.html');}
}
}
}





?>
A voir également:

19 réponses

-helper- Messages postés 89 Date d'inscription mercredi 21 mai 2014 Statut Membre Dernière intervention 15 juin 2014 27
Modifié par -helper- le 23/05/2014 à 13:29
Salut !

Oulala ! Faille de sécurité... Alerte à l'injection SQL !!!
Il faut TOUJOURS échapper les variables venant de l'utilisateur...
En particulier lorsque c'est utilisé dans une requête SQL après...

A bon entendeur...

S@M
2
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
20 mai 2014 à 19:30
Si une page devient vide, il faut regarder les premières instructions. Ici, je vois ceci : if(isset($_POST['submit'])){

Or, aucune case de formulaire comporte le name="submit".
0
salut !


si il y a une case la voilà !

<input type="submit" name="submit" value="S'inscrire" /><br /> </center>

mais c'est le méme problème !!
0
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
Modifié par MickaToast le 21/05/2014 à 20:26
Il y a une erreur alors dans cette ligne :
if(isset($_POST['nom'])&&isset($_POST['prenom'])&&isset($_POST['age'])&&isset($_POST['email'])&&isset($_POST['adresse'])&&isset($_POST['telephone'])&&isset($_POST['type'])&&isset($_POST['login'])&&isset($_POST['passe'])&&isset($_POST['passe1'])){ 

Vérifie bien dans ton formulaire qu'il y a bien tout ces $_POST et qu'il sont bien envoyé.
Par exemple, sur ta page ii.php je te conseil de mettre temporairement en première ligne ceci :
echo $_POST['nom'];
echo $_POST['prenom'];
echo $_POST['age'];
echo $_POST['email'];
echo $_POST['adresse'];
echo $_POST['telephone'];
echo $_POST['type'];
echo $_POST['login'];
echo $_POST['passe'];
echo $_POST['passe1'];

Puis, tu vas sur inscription.php, tu fais un formulaire et tu l'envoie. Si il y a une parse error qui dit qu'un $_POST n'existe pas, c'est que le problème vient de ce $_POST.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
salut !
j'ai vérifié et ça m'affiche tous les coordonnées que j'ai tapé !! ça veux dire que les $_POST marchent !!

je ne sais pas ce qui fais problème parce que j'ai annulé la vérification(la ligne des isset....) et quand j'effectue l'ajout dans la base de données rien ne se rajoute !
0
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
Modifié par MickaToast le 21/05/2014 à 22:51
Est-ce que passe est bien exactement pareil à passe1, sur cette ligne :
if($passe==$passe1){

Si oui, alors le problème vient de quand tu envoie tes informations sur la base de donnée. Ta table est bien créée ? Tu as bien ajouté les colonnes 'nom', 'prenom' etc.. avant d'envoyer tes requêtes?

De plus, je te conseil de tester ceci :

Après la ligne :
$ex=mysql_query($ins); 


Ajoute ces lignes pour vérifier l'erreur lors de l'envoie sur la base de donnée

if (!$ex) {
    die('Requête invalide : ' . mysql_error());
}


La fonction die te renverra alors exactement ce qu'il ne va pas dans ton code (si php n'a pas réussi à effectuer la requête SQL).
0
je ne sais pas où est le problème dans cette requette :
$ins='INSERT INTO compteclient(NOffre,nom,prenom,logi,motDePasse,Type,dateCre,adresse,tel) VALUES
('','$nom','.$prenom.','.$login.','.$passe.','.$type.','.$date.','.$adresse.','.$telephone.')';
0
salut !

qu'est ce que je peux faire pour regler ce problème merçi d'avance !!
0
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
Modifié par MickaToast le 23/05/2014 à 17:32
Youka, a tu essayé d'utiliser :
if (!$ex) {
    die('Requête invalide : ' . mysql_error());
}
?

Pour les failles SQL je te conseil de visiter ce lien :
http://www.tutorialspoint.com/mysql/mysql-sql-injection.htm
0
oui je l'ai essayé et ça m'affiche
ce message :Requête invalide : Data truncated for column 'Type' at row 1
0
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
23 mai 2014 à 19:10
Très bien, le problème vient donc de ta colonne "Type" dans ta base de donnée.

Il faut que tu vérifie si elle est bien configurée, par exemple si tu rentre du texte dans ton formulaire et que dans ta base de donnée ça doit être des nombres, il y aura erreur. Si tu as défini "Type" avec un varchar de 255 et que tu rentres un texte plus grand, tu auras l'erreur "Valeur tronqué pour la colonne", c'est exactement ton erreur.

Si tu ne sait pas comment faire, dit moi ce qui est attendu dans $_POST["type"] (c'est un texte court, un texte long?) et donne moi aussi les paramètres de "Type" dans ta base de donnée.

PS: Courage, on arrive au but :D
0
oué oué !!! merçi beaucoupppppp !! et bezzzzzaaaaaaff à la marocaine !!

bn le type c'etait une enumeration je l'ai changé en varchar é ça a marché !!


c'est mon pfe je dois le terminer dans quelques jours et je suis pressé par le temps !
0
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
23 mai 2014 à 20:52
Très bien, content que tout fonctionne bien maintenant !

Bonne soirée à toi !
0
Bonjour,
je veux afficher un texte et j'ai mais ce code .
<?php
include('connexion.php');
$q="SELECT * FROM 'offre' where 'NOffre'='3'";
$qq=mysql_query($q);
if(!$qq){die('errroor'.mysql_error());}
$qqq=mysql_fetch_row($qq);
if(!$qqq){die('error'.mysql_error());}
echo $qqq['description'];
?>
l'erreur c'est : NOTICE: UNDEFINED INDEX: DESCRIPTION IN C:\W....
0
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
26 mai 2014 à 20:37
Surement parce que ['description'] n'est pas une colonne de votre table ?
0
voilà la colonne :
10 description varchar(3000) latin1_swedish_ci Non

et meme si je mets une autre colonne de la table offre ça me donne la meme erreur !! je ne sais pas où existe le probleme
0
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
26 mai 2014 à 20:51
Essayez de faire $qqq[0], $qqq[1], etc... à la place.
0
Merçii !! ça marche avec 0 mais j'ai compris le principe sue lequel ça fonctionne !!
0
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
26 mai 2014 à 21:19
Vous pouvez aussi afficher la structure de la variable en utilisant print_r($qqq);
0