• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 106
  • Last Modified:

deprecated php script to convert to msqli pdo please

CREATE TABLE IF NOT EXISTS `membres` (
`id_user` int(10) unsigned NOT NULL auto_increment,
`login` varchar(50) NOT NULL default '',
`pass` varchar(50) NOT NULL default '',
`nom` varchar(50) NOT NULL default '',
`prenom` varchar(50) NOT NULL default '',
`privilege` varchar(50) NOT NULL default '',
PRIMARY KEY (`id_user`)
);


INSERT INTO `membres` VALUES (
1, 'test', 'a94a8fe5ccb19ba61c4c0873d391e987982fbbd3', 'NOM_TEST', 'Prénom_test', 'admin'
);

Open in new window


there are a few page
before saying to me it's too long please READ




 
*> i have put a few comment
basicaly you have connection.php should there be a fonction? maybe? you can see that this file is called by <?php require_once('connexion.php'); ?> in the others page


  mysql_select_db($database_dbprotect, $dbprotect);
is deprecaded

 mysql_real_escape_string also
and a few other thing

i think that if you correct one file i should be able to convert the 2 others....




///////////////////////////////////////
connection.php
//////////////////////////////////////
// paramètres de connexion
$hostname_dbprotect = "localhost";  // nom de votre serveur
$username_dbprotect = "root";       // nom d'utilisateur (root par défaut) !!! ATTENTION, en utilisant root, vos visiteurs ont tous les droits sur la base
$password_dbprotect = "";           // mot de passe (aucun par défaut mais il est conseillé d'en mettre un)
$database_dbprotect = "artiste";  // nom de votre base de données   
$tablename_dbprotect= "membres";    // nom de la table utilisée




$link = new mysqli($hostname_dbprotect,$username_dbprotect,$password_dbprotect ,$database_dbprotect);
if ($link->connect_errno)  die("Error " . $link->connect_errno );

$link->query("SET NAMES 'utf8'"); 

if ($result = $link->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("La base de données courante est %s.\n", $row[0]);
    $result->close();
}

Open in new window



////////////////////////
index.php
////////////////////////

<?php
require_once('connexion.php');

/*
			-----------------------------------
			---- SCRIPT D'AUTHENTIFICATION ----
					DBProtect V1.5
				Contact : david@borrat.net
				  Mise &agrave; jour php5
							+
			  cryptage sha1 par aventurier19
			-----------------------------------
*/

session_start(); // début de session

if (isset($_POST['login'])){ // execution apres envoi du formulaire


$login = mysql_real_escape_string($_POST['login']); // mise en variable du nom d'utilisateur > deprecated!!
	
	$pass = sha1($_POST['pass']); // mise en 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);

Open in new window


>here there is a problem i tried this mysql_select_db($database_dbprotect, "localhost"); but php said it shoudn't be an object


    $verif_query = sprintf("SELECT * FROM $tablename_dbprotect 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['authentification'] = 1; // 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)
		
		header("Location: accueil.php"); // redirection si OK
		exit;
}
	else {
		header("Location: index.php?erreur=login"); // redirection si utilisateur non reconnu
		exit;
	}
}


// GESTION DE LA Déconnexion
if (isset($_GET['erreur']) && $_GET['erreur'] == 'logout'){ // Test sur les paramètres d'URL qui permettront d'identifier un "contexte" de déconnexion
header("Location: index.php?erreur=delog");
exit;
}
?>
<html>
<head>
<title>Authentification - DBProtect 1.5</title>
<style type="text/css">
<!--
.Style2 {color: #0000FF}
.Style5 {color: #FF0000}
.Style6 {font-family: Verdana, Arial, Helvetica, sans-serif}
.Style7 {font-size: 12px}
.Style10 {
	font-size: 14px;
	font-weight: bold;
}
-->
</style>
</head>
<body>
<form action="" method="post" name="connect" class="Style6">
  <p align="center" class="Style7"><strong>      
      <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "login")) { // Affiche l'erreur
	  echo '<span class="Style5">Echec d\'authentification !!! &gt; login ou mot de passe incorrect</span>'; 
	  }
	  if(isset($_GET['erreur']) && ($_GET['erreur'] == "delog")) { // Affiche l'erreur
	  echo '<span class="Style2">D&eacute;connexion r&eacute;ussie... A bient&ocirc;t '.$_SESSION['prenom'].' !</span>';
	  session_unset();
	  }
	  if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru")) { // Affiche l'erreur 
	  echo '<span class="Style5">Echec d\'authentification !!! &gt; Aucune session n\'est ouverte</span>
      <span class="Style5">ou vous n\'avez pas les droits pour afficher cette page.</span>';
      } ?>
  <p align="center" class="Style10">  - : : :  DBProtect 1.5 : : : -</p>
  <p align="center" class="Style7"><em>Authentification s&eacute;curis&eacute;e utilisant :<br>
  - BDD MySQL<br> 
  - Sessions PHP<br>
  - Cryptage par SHA1</em></p>
  <p align="center" class="Style7"><em><a href="lisez_moi.htm">lire les instructions &gt;&gt;</a></em></p>
  <div align="center" class="Style7">  
    <table width="300" border="1" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC">
      <tr>
        <td><table width="400"  border="0" cellpadding="10" cellspacing="0" bgcolor="#eeeeee">
          <tr>
            <td width="50%"><span class="Style7">LOGIN</span></td>
            <td width="50%"><input name="login" type="text" id="login"></td>
          </tr>
          <tr>
            <td width="50%"><span class="Style7">MOT DE PASSE </span></td>
            <td width="50%"><input name="pass" type="password" id="pass"></td>
          </tr>
          <tr>
            <td height="34" colspan="2"><div align="center">
                <input type="submit" name="Submit" value="Se connecter">
            </div></td>
          </tr>
        </table></td>
      </tr>
    </table>  
  Script par <a href="http://www.borrat.net">DB</a><br />
  Mise &agrave; jour php5 + cryptage sha1 par aventurier19</div>
  
</form>
</body>
</html>

Open in new window


/////////////////////////
 accueil.php

///////////////////////////

<?php
require_once('connexion.php');

/*
			-----------------------------------
			---- SCRIPT D'AUTHENTIFICATION ----
					DBProtect V1.5
				Contact : david@borrat.net
				  Mise &agrave; jour php5
							+
			  cryptage sha1 par aventurier19
			-----------------------------------
*/

session_start(); // On relaye la session
if (isset($_SESSION['authentification'])){ // vérification sur la session authentification (la session est elle enregistrée ?)
// ici les éventuelles actions en cas de réussite de la connexion
}
else {
header("Location: index.php?erreur=intru"); // redirection en cas d'echec
exit;
}
?>
<html>
<head>
<title>Accueil</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.Style2 {font-family: Verdana, Arial, Helvetica, sans-serif}
.Style3 {font-size: 12px}
.Style4 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; }
.Style8 {color: #0000FF; font-weight: bold; }
.Style11 {font-size: 10px}
.Style12 {font-size: 14px}
-->
</style>
</head>

<body>
<p align="center" class="Style2 Style12"><strong>- : : : DBProtect 1.5 : : : -</strong></p>
<p class="Style2 Style3">Bienvenue &quot;<span class="Style8"><?php echo $_SESSION['nom']; ?> 
  <?php echo $_SESSION['prenom']; ?></span>&quot; dans votre espace s&eacute;curis&eacute;. </p>
<p class="Style4">Vous &ecirc;tes connect&eacute; en tant que &quot;<span class="Style8"><?php echo $_SESSION['login']; ?></span>&quot; avec le privil&egrave;ge &quot;<span class="Style8"><?php echo $_SESSION['privilege']; ?></span>&quot;</p>
<p class="Style4">Votre mot de passe est &quot;<span class="Style8"><?php echo $_SESSION['pass']; ?></span>&quot; (crypt&eacute; par SHA1)</p>
<p class="Style4">&nbsp;</p>
<p class="Style4">
<?php 
/*
--- AFFICHAGE CONDITIONNEL OU REDIRECTION EN FONCTION DU PRIVILEGE ---
	Config actuelle : le script gère un affichage conditionnel
	Pour rediriger l'utilisateur en fonction de son privilege, ajoutez les lignes suivantes aux endroits indiqués
	Dans la zone d'affichage admin : 
			header("Location:URL SI ADMIN")
	Dans la zone d'affichage admin : 
			header("Location:URL SI USER SIMPLE")
			
Note: pour ajouter des privilèges, editez ce fichier en rajoutant une condition d'affichage
et editez le fichier admin.php en ajoutant à la liste "select" un privilege.
*/
  
  
  // si l'utilisateur est connecté comme admin ...
  if ($_SESSION['privilege'] == "admin") { // Affichage conditionnel : si et seulement si l'utilisateur est connecté avec le privilege administrateur ?>
<strong>En tant qu'administrateur vous pouvez effectuer les actions suivantes : </strong></p>
<p class="Style4">- <a href="admin.php">G&eacute;rer les utilisateurs</a>
  <?php } // fin de l'affichage conditionnel?></p>
<p class="Style4">
  <?php 
  // si l'utilisateur est connecté comme simple utilisateur ...
  if ($_SESSION['privilege'] == "user") { // Affichage conditionnel : si et seulement si l'utilisateur est connecté avec le privilege utilisateur simple ?>
  <strong>En tant qu'utilisateur simple vous ne pouvez pas effectuer d'actions</strong>
  <?php } // fin de l'affichage conditionnel?>
</p>
<p align="left" class="Style4 Style3"><a href="index.php?erreur=logout"><strong>Vous d&eacute;connecter</strong></a></p>
<p align="center" class="Style4 Style11">&nbsp;</p>
<p align="center" class="Style4 Style11"><strong>EN EDITANT CETTE PAGE (accueil.php), VOUS ALLEZ POUVOIR CONFIGURER DES ACTIONS A EFFECTUER EN FONCTION DU PRIVILEGE DE L'UTILISATEUR CONNECTE (redirection ou affichage conditionnel).<br />
Les instructions sont dans le fichier source. HAVE FUN ;-) </strong></p>
<p align="center" class="Style4 Style11"><span class="Style3">Script par <a href="http://www.borrat.net">DB</a></span><br />
Mise &agrave; jour php5 + cryptage sha1 par aventurier19</p>
</body>
</html>

Open in new window


thanks
login.zip
1
jerrrrry
Asked:
jerrrrry
  • 2
1 Solution
 
Ray PaseurCommented:
This question is coming up for nearly everyone as we modernize PHP.  We have an article here at E-E that shows exactly what you need to do.
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/PHP_Databases/A_11177-PHP-MySQL-Deprecated-as-of-PHP-5-5-0.html
1
 
Ray PaseurCommented:
Please see the grading guidelines.  You are expected to explain when you give a marked-down grade.
http://support.experts-exchange.com/customer/portal/articles/481419

What was wrong with this answer?  Did you find an error in the article?  If so, please let us know so it can be corrected!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now