Wamp 2.0 vers wamp 2.5, mysql vers mysqli, problème de requete
perdudanswamp2.5
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
perdudanswamp2.5 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
perdudanswamp2.5 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous, mon cerveau est un peu en ébullition mais je vais essayer d'être bref et claire.
Je développe un site en PHP classique mais un amis ma démonter les failles de sécurité de celui-ci. J'ai donc décider de monter en version et de passer de wamp 2.0 à wamp 2.5
(conséquence monter en version de PHP, Apache et Mysql)
Bref voici un morceau de code "ancienne version" suivis du code "nouvelle version"
je passe donc tout les mysql par des mysqli sans oublier de rajouter les arguments ou de les inverser quand c'est nécessaire.
Et la partie modifier en mysqli ci-dessous (cela ne fonctionne pas mais je n'ai pas d'erreur non plus). J'ai tenter de retirer certaine fonction j'arrive a écrire dans la BDD mais cela met des champs vide.
je ne comprend pas pourquoi cela ne marche pas, je n'ai pas toucher au formulaire car il n'y a rien a toucher dessus normalement, c'est donc un problème de fonction qui été gérer en mysql et non en mysqli ou un changement d'écriture.. je suis perdu
Help ^^
Je développe un site en PHP classique mais un amis ma démonter les failles de sécurité de celui-ci. J'ai donc décider de monter en version et de passer de wamp 2.0 à wamp 2.5
(conséquence monter en version de PHP, Apache et Mysql)
Bref voici un morceau de code "ancienne version" suivis du code "nouvelle version"
je passe donc tout les mysql par des mysqli sans oublier de rajouter les arguments ou de les inverser quand c'est nécessaire.
<?
include_once("header.php");
//dans mon header on retrouve un include de ma page spl.php avec les identifiants etc..
if ($login<>"") {
function html ($val) {
return addslashes(stripslashes($val));
}
$req0 = "SELECT email FROM z_mail WHERE email = '" . html($email) . "'";
$rub = mysql_query($req0, $connexion);
$nbr = mysql_num_rows($rub);
$req1 = "SELECT login FROM accounts WHERE login = '" . html($login) . "'";
$rub1 = mysql_query($req1, $connexion);
$nbr1 = mysql_num_rows($rub1);
if ($nbr >= 1)
{
$resultat = '<span style="color:red">Ce mail est deja utilise.</span>';
}
else if ($nbr1 >= 1)
{
$resultat = '<span style="color:red">Ce pseudo est deja utilise.</span>';
}
else
{
$req00 = "INSERT INTO z_mail (login, email) VALUES ('" . html($login) . "', '" . html($email) . "')";
mysql_query($req00, $connexion);
$pass1 = base64_encode(pack('H*', sha1($pass1)));
$req2 = "INSERT INTO accounts (login, password, lastactive, accessLevel, lastIP, lastServer) VALUES ('" . html($login) . "', '" . html($pass1) . "', '', '0', '', '')";
mysql_query($req2, $connexion);
$resultat ='<span style="color:green">Votre compte a bien ete enregistre;. Bon jeu !</span>';
}
mysql_close();
}
?>
<div id="contenu">
<div id="text">
<table>
<td style="color:green; font-size:20px; height:10px">Gestionnaire de comptes</td>
<td width="500" align="right"><?echo $resultat;?></td>
</table>
<p style="color:green; font-size:14px; height:10px">Créez votre compte \ <a href="changepass.php" style="color:#F90; font-size:12px">
<font onmouseover="this.style.color='red'" onmouseout="this.style.color='#F90'">Changez votre mot de passe</font></a></p><br />
<form name="formulaire" method="post" action="compte.php" id="formulaire">
<table cellpadding="0" cellspacing="5px" border="0" width="400px" align="center">
<tr>
<td align="right">Login :</td>
<td align="left"><input name="login" type="text" class="validate[required,custom[noSpecialCaracters]]" id="login"/></td>
</tr>
<tr>
<td align="right">Email :</td>
<td align="left"><input name="email" type="text" class="validate[required,custom[email]]" id="email"/></td>
</tr>
<tr>
<td align="right">Mot de passe :</td>
<td align="left"><input name="pass1" type="password" class="validate[required,custom[noSpecialCaracters]]]" id="pass1"/></td>
</tr>
<tr>
<td align="right">Retapez le mot de passe :</td>
<td align="left"><input name="pass2" type="password" class="validate[required,confirm[pass1]]" id="pass2"/></td>
</tr>
</table>
<p><center><input type="checkbox" class="validate[required] checkbox" name="reglement" id="reglement" value="ok" onClick="ChangeStatut(this.form<?php echo $lang;?>)" /><br> J'accepte le règlement.</p>
<p><input type="submit" name="submit" value=" S'enregister " onClick="validation();" "/></p></center>
</form>
</div>
</div>
Et la partie modifier en mysqli ci-dessous (cela ne fonctionne pas mais je n'ai pas d'erreur non plus). J'ai tenter de retirer certaine fonction j'arrive a écrire dans la BDD mais cela met des champs vide.
if ($login<>"") {
function html ($val) {
return addslashes(stripslashes($val));
}
$req0 = "SELECT email FROM zz_mail WHERE email = '" . html($email) . "'" ;
$rub = mysqli_query($connexion, $req0);
$nbr = mysqli_num_rows($rub);
$req1 = "SELECT login FROM accounts WHERE login = '" . html($login) . "'" ;
$rub1 = mysqli_query($connexion, $req1);
$nbr1 = mysqli_num_rows($rub1);
if ($nbr >= 1)
{
$resultat = '<span style="color:red">Ce mail est déjà utilisé.</span>';
}
else if ($nbr1 >= 1)
{
$resultat = '<span style="color:red">Ce pseudo est déjà utilisé.</span>';
}
else
{
$req00 = "INSERT INTO zz_mail (login, email) VALUES ('" . html($login) . "', '" . html($email) . "')";
mysqli_query($connexion, $req00);
$pass1 = base64_encode(pack('H*', sha1($pass1)));
$req2 = "INSERT INTO accounts (login, password, lastactive, accessLevel) VALUES ('" . html($login) . "', '" . html($pass1) . "', '', '0')";
mysqli_query($connexion, $req2);
$resultat ='<span style="color:green">Votre compte a bien été enregistré. Bon jeu !</span>';
}
mysqli_close($connexion);
}
je ne comprend pas pourquoi cela ne marche pas, je n'ai pas toucher au formulaire car il n'y a rien a toucher dessus normalement, c'est donc un problème de fonction qui été gérer en mysql et non en mysqli ou un changement d'écriture.. je suis perdu
Help ^^
A voir également:
- Wamp 2.0 vers wamp 2.5, mysql vers mysqli, problème de requete
- Net framework 2.0 - Télécharger - Divers Utilitaires
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Clavier qwerty vers azerty - Guide
- Vers quelle adresse web renvoie ce lien - Guide
- Envoyer vers - Guide
1 réponse
Je viens de rajouter se bout de code a la fin et il me retourne bien la ligne sur le site.
En gros si le champ login est vide il retourne ce résultat.. donc il passe au travers de mes requêtes ? mais elle sont exécuter lorsque je clic sur le bouton normalement , non ?
else
{
$resultat = '<span style="color:red">la création des comptes ne fonctionne pas pour le moment</span>';
}
En gros si le champ login est vide il retourne ce résultat.. donc il passe au travers de mes requêtes ? mais elle sont exécuter lorsque je clic sur le bouton normalement , non ?