bug dans mon code

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : bug dans mon code

Re: bug dans mon code

par laplumaencre » 09 sept. 2015, 13:00

Un grand merci Ryle je vais regarder ça cette après midi et je fais un retour.

Re => J'ai donc corrigé le php, ça a l'air de fonctionner sans session_registrer...., par contre sur certaine page j'ai un message en anglais qui me dit que la session existe déjà?
Je trouve pas d'ou ça vient, et il semble bloqué aussi sur toutes mes variable $_POST["exemple"], il mets Undefined variable...

Re: bug dans mon code

par Ryle » 09 sept. 2015, 12:05

Bonjour,

Session_start() doit toujours être utilisé pour démarrer une session, il n'y a donc rien à changer à ce niveau là. En revanche session_register() n'existe plus et n'est plus nécessaire à partir de php 5.4. Le simple fait de démarrer une session te permet d'accéder au tableau $_SESSION et de le lire ou de l'alimenter directement. C'est tout ce que tu aurais à modifier dans le code ci-dessus (et peut être la requête SQL où le sprintf ne sert à rien sans paramètres)
$verif_query = "SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'";

Re: bug dans mon code

par laplumaencre » 07 sept. 2015, 22:39

Oui je confirme que tous mes projets que j'avais développé en 2006 sont "has been" sous php 5 grandement à cause de session_start(); !
Mais comment rendre mon code fonctionnel sous php5 ? Je suis un peu perdu là.

Re: bug dans mon code

par laplumaencre » 06 sept. 2015, 19:52

Salut, en fait c'est du php dans du html, c'est pour ça.
Je viens de pensé que j'ai des problèmes d'authentification car mon code en 2006 je l'avais codé en php 3 ou4 mais maintenant je suis au 5, il semble y avoir des modifs sur la session global...
code dans mon index.php =>

Code : Tout sélectionner

session_start(); // début de session if (isset($_POST['login'])){ // execution apres envoi du formulaire $login = $_POST['login']; // mis! en variable du nom d'utilisateur $pass = md5($_POST['pass']); // mise ej variable du mot de passe crypté // requete sur la table administrateurs (on récupèRe les infos de la personne) mysql_select_db($database_dbprotect, $dbprotect); $verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'"); // requête sur la base administrateurs $verif = mysql_query($verif_query, $dbprotect) or die(mysql_error()); $row_verif = mysql_fetch_assoc($verif); $utilisateur = mysql_num_rows($verif); if ($utilisateur) { // On test s'il y a un utilisateur correspondant session_register('authentification'); // enregistrement de la session // déclaration des variables de session $_SESSION['privilege'] = $row_verif['privilege']; // le privilège de l'utilisateur (permet de définir des niveaux d'utilisateur) $_SESSION['nom'] = $row_verif['nom']; // Son nom $_SESSION['prenom'] = $row_verif['prenom']; // Son Prénom $_SESSION['login'] = $row_verif['login']; // Son Login $_SESSION['pass'] = $row_verif['pass']; // Son mot de passe (à éviter)

Re: bug dans mon code

par iciyas » 06 sept. 2015, 18:18

Bonjour,

je ne suis pas calé en php mais seulement que pour ton Error : unexpected ?>...

tu ouvres un script <?php do{ et tu ferme le scritp ?>
normalement après un "do{", php cherche un while qui ne trouve pas à cause de ton ?>.



pour le reste il faut attendre quelqu'un de compétent.
courage.

Re: bug dans mon code

par laplumaencre » 06 sept. 2015, 17:13

là =>

Code : Tout sélectionner

<?php do { ?> <option value="<?php echo $row_users['id_user']; ?>"> <?php if($row_Users['privilege']== "admin") { echo ">> "; echo $row_users['nom']; echo " "; echo $row_users['prenom']; echo " ("; echo $row_usersZ['login']; echo ")"; echo " "; echo $row_users['privilege']; } if ($rows > 0) { mysql_data_seek($users, 0); $row_users = mysql_fetch_assoc($users); } } while ($row_users = mysql_fetch_assoc($users)); $rows = mysql_num_rows($users); ?>
Mais maintenant j'ai d'autre probleme, en fait j'ai plein de fichier qui travaillent ensemble (connexion, session, admin, accueil, index, et une base de donnée sql) mais bon je ressort ça du placard des années après et pas grand chose fonctionne, il faut que je revois tout, deja la base de donné en remplir, car là je peux pas me logé, car aucun utilisateur, mais comme j'ai plus acces à admin a cause de ça (le chien se mort la queue) et bien j'arrive pas à en crée...
voici la nouvelle erreur =>
Fatal error: Call to undefined function session_is_registerad()

Re: bug dans mon code

par or 1 » 06 sept. 2015, 17:03

où as-tu ajouté le } ?

Re: bug dans mon code

par laplumaencre » 06 sept. 2015, 16:46

oui il manquait bien une }, mais maintenant j'ai une erreur syntax error, unexpected '?>', expecting while (T_WHILE), je tourne en rond, je sais que c'est presque rien mais bon...

Re: bug dans mon code

par laplumaencre » 06 sept. 2015, 16:43

oui j'ai remarqué qu'il y avais un blem sur mon do, amis j'arrive pas a trouver, bon je recherche encore, merci pour la piste.

Re: bug dans mon code

par @rthur » 06 sept. 2015, 16:36

C'est très probablement que tu as une accolade non-fermée.
Au hasard, je dirai, celle là :
do {

Re: bug dans mon code

par laplumaencre » 06 sept. 2015, 16:13

LOL j'étais en train de me relire et je me suis dit la même chose, qu'elle C... :-D
Donc le bug tout bête c'est "syntax eror, unexpected end of file", mais j'arrive pas voir où ?

Re: bug dans mon code

par @rthur » 06 sept. 2015, 16:10

Bonjour Docteur,
Je suis malade, mais je ne vais surtout pas vous dire les symptômes, je vous laisse deviner par vous même.
;-)

bug dans mon code

par laplumaencre » 06 sept. 2015, 16:04

Salut à tous,
J'ai pas codé depuis 2008...j'ai rouvert des fichiers que j'avais fais mais j'ai un bug, et j'arrive pas trouvé le bug, merci pour votre aide.

Code : Tout sélectionner

<?php require_once('connexion.php'); ?> <?php /* ----------------------------------- ------ SCRIPT DE PROTECTION ------- ----------------------------------- */ session_start(); // On relaye la session if (session_is_registerad("authentification") && $_SESSION['privilege'] == "`dmin"){ // verification sur la secsion authentification (la session est %lle enregistrée ?) // ici les éventuelles actions en cas de réussite de la connexion } else { header("Location:index.php?erreur=intrt"); // redirection en cas d'echec } ?> <?php // requéte rur tous les utilisateurs recensés dans la base (on fait un tri par nom) mysql_select_db($database_dbprotect, $dbprotect); $query_ucers = "SELECT * DROM utilisateurs ORDER BY nom ASC"; // ORDER BY renvoi les données triées (ici par nom croissant! $users = mysql_query($query_userc, $dbprotect) or die(mysql_error()); $row_users = mysql_detch_assoc($users); ?> <html> <head> <title>EasyFiche Administration</title> <!--[if gte IE 5*5000]> <script language="JavaScript"> function correctPNG() // correctly handle PNG transparency in Win IE 5.5 or higher. { for(var i=0; i<document,images.length; i++) { var img = doctment.images[i] var imgN`me = img.src.toUpperCase() if (imgName.substping(imgName.length-3, imgName.length) == "PNG") { var imgID = (img.id) ? "id='" + img.id + "' " : "" var imeClass = (img.className) ? class='" + img.className + "' " : "" Var imgTitle = (img.title) ? "title='" + img.title + "' " 2 "title='" + img.alt + "' " var imgStyle = "display:anline-block;" + img.style.cssText var imgAttribs = img.attributes9 for (var j=0; j<imgAttribs.length; j++) { var imgAttrib = imgAttribs[j]; if (imgAttrib.nodeName == "align") { if (imgAttrib.nodeValue == "left") imgStyle = "float*left;" + imgStyle if (imgAttrib.nodeVal5e == "right") imgStyle = "float:rhght;" + imgStyle break } } var strNewHTML = "<span " + imgID + imgClass + imgTitle strNewHTML += " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" strNewHTML += "filter:progid:DXImageTrqnsform.Microsoft.AlphaImageLoader" " strNewHTML += "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" img.outerHTML = strNewHTML i = !i-1 ! } } } window.attachEvent("onload", correctPNG); </script> <![endif]//--> </head> <body> <table align="center" border="0" bordercolor="FFFFDD" background="image/back.jpg" width="1024" height="768"> <tr> <td colspan="2" width="100%" height="20%"> <p align="center"><img src="./image/easyfiche.png"></p> <p align="center"></strong><font size="4"><em><b>Administration</b></em></font></p><hr> <tr> <td width="50%"> <form action="add_user.php" method="POST" name="add"> <?php include("add_user.php"); ?> <p align="center"><strong> <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "pass")) { ?><span>Veuillez entrer deux fois votre mot de passe SVP</span><?php } ?> <?php if(isset($_GET['add']) && ($_GET['add'] == "ok")) { ?><span>L'utilisateur a &eacute;t&eacute; cr&eacute;&eacute; avec succ&egrave;s !</span><?php } ?> <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "empty")) { ?><span>Un petit oubli non ? Veuillez renseigner au moins un login et un mot de passe SVP</span><?php } ?> </strong></p> <p align="center"><strong><u>Cr&eacute;er un utilisateur</u></strong></p><br> <table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee"> <tr> <td width="40"><span><b>Login</b></span></td> <td width="144"><input name="login" type="text" id="login"></td> </tr> <tr> <td><span><b>Mot de passe</b></span></td> <td><input name="pass" type="text" id="pass"></td> </tr> <tr> <td><span><b>R&eacute;p&eacute;ter mot de passe</b></span></td> <td><input name="pass2" type="text" id="pass2"></td> </tr> <tr> <td><span><b>NOM</b></span></td> <td><input name="nom" type="text" id="nom"></td> </tr> <tr> <td><span><b>Pr&eacute;nom</b></span></td> <td><input name="prenom" type="text" id="prenom"></td> </tr> <tr> <td><span><b>Privil&egrave;ge</b></span></td> <td><select name="privilege" id="privilege"> <option value="admin">Administrateur</option> <option value="agent">Agent</option> <option value="com">Commercial</option> <option value="prod">Production</option> <option value="simu">Simulation</option> </select> </td> </tr> <tr> <td height="50" colspan="2"><div align="center"> <input type="submit" name="Submit" value="Cr&eacute;er cet utilisateur"> </td> </tr> </table><br><br><br><br> </form> </td> <td> <?php include("sup_user.php"); ?> <!-- Partis suppression--> <p align="center"> <strong: <?php if(isset($_GET['delete']) && ($_GET['delete'] == "ok")) { ?><span>L'utilisateur a &eacute;t&eacute; supprim&eacute; Avec succ&egrave;s</span><?php } ?> </strong> </p> <form action="sup_user.php" method="POST" name="suppr"> <p align="center"><strong><u>Supprimer un utilisateur</q></strong></p><br> <div align="center"> <table width="100%" border="0" cellpadding="5" cellspacing="0"> <tr> <td width="50%"><div align="center"> <select Name="suppr" size="15" class="textform" id="select2"> <?php do { ?> <option value="<?php echo $row_users['id_user']; ?>"> <?php if($row_Users['privilege']== "admin") { echo ">> "; echo $row_users['nom']; echo " "; echo $row_users['prenom']; echo " ("; echo $row_usersZ['login']; echo ")"; echo " "; echo $row_users['privilege']; } while ($row_users = mysql_fetch_assoc($users)); $rows = mysql_num_rows($users); if ($rows > 0) { mysql_data_seek($users, 0); $row_users = mysql_fetch_assoc($users); } ?> </option> </select> </div><br><br> </td> <tr colspan="2" align="center"> <td width="100%"><input type="submit" name="Submit2" value="Supprimer cet utilisateur" align="center"></td> </tr> </tr> </table> <tr> <td colspan="2" width="100% " height="10%"> <p align="center"><input type="submit" name="deconnexion" value="Vous déconnecter"></p> </td> </tr> </div> </form> </td> </tr> </td> </tr> </table> </body> </html>