jackbocar

  • Site web
  • Nombre de sujets
    152
  • Nombre de messages
    456
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

jackbocar
le 11/11/2006 à 07:40
Passer de "sql 'select " à $query = 'SELECT pour espace membres
Bonjour,

J'ai tyrouvé les erreurs dans le script, la seule chose qui me dérange c'est les : $result à la place des req.

Est-ce normal ?

<?PHP
$query = 'SELECT count(*) FROM users_membres WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'"';
$result = mysqli_query or die('Erreur SQL !'.$sql.''.mysql_error($link, $sql));
$result = mysqli_query($link, $query);
$data = mysqli_fetch_array($result);
?>


Jack Bocar
jackbocar
le 10/11/2006 à 17:10
Passer de "sql 'select " à $query = 'SELECT pour espace membres
Nom script et mes erreurs :

<?php
/* ------------------------------------------ */
define('PATH_HTTP', 'http://localhost/membres/register');
define('PATH_INCLUDE', 'e:/www/membres/register');
/* ------------------------------------------ */
define('dbHost', 'localhost');
define('dbUsername', 'root');
define('dbPassword', 'password');
define('dbDatabase', 'membres');
/* ------------------------------------------ */
define('SITE_NOM', 'users-membres');
define('SITE_EMAIL', 'users-membres@yahoo.fr');
/* ------------------------------------------ */
?>

<?php

if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {

if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {

if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$link = mysqli_connect(dbHost, dbUsername, dbPassword, dbDatabase);
if (mysqli_connect_errno()) {
printf("Connexion &eacute;chou&eacute;e : %sn", mysqli_connect_error());
exit();
}

$query = 'SELECT count(*) FROM users_membres WHERE login="'.addslashes($_POST['login']).'"';

// ci-dessous : ligne 37

$query = mysqli_query($sql) or die('Erreur SQL !'.$sql.''.mysqli_error());
$data = mysqli_fetch_array($query);

if ($data[0] == 0) {
$query = 'INSERT INTO users_membres VALUES("", "'.addslashes($_POST['login']).'", "'.md5(addslashes($_POST['pass'])).'")';
$query = mysqli_query($sql) or die('Erreur SQL !'.$sql.''.mysqli_error());

session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: ../membres/page_1.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Inscription</title>
</head>

<body>
Inscription à l'espace membre :
<form action="register.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>">
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo stripslashes(htmlentities(trim($_POST['pass']))); ?>">
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo stripslashes(htmlentities(trim($_POST['pass_confirm']))); ?>">
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '',$erreur;
?>
</body>
</html>


Les erreurs :

Warning: mysqli_query() expects at least 2 parameters, 1 given in E:wwwmembresregisterregister.php on line 37

Warning: mysqli_error() expects exactly 1 parameter, 0 given in E:wwwmembresregisterregister.php on line 37
Erreur SQL !
jackbocar
le 10/11/2006 à 16:03
Passer de "sql 'select " à $query = 'SELECT pour espace membres
Bonjour,

Je te donne l'exemple que j'ai trouvé sur le net :

http://www.manuelphp.com/php/function.mysqli-fetch-row.php

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Echec de la connexion : %sn", mysqli_connect_error());
exit();
}

$query = "SELECT Nom, CodePays FROM Ville ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

/* Récupération du tableau d'objet */
while ($row = $result->fetch_row()) {
printf ("%s (%s)n", $row[0], $row[1]);
}

/* Libération du jeu de résultats */
$result->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>


Et celui-ci :

<?php

// ICI : http://www.manuelphp.com/php/function.mysqli-fetch-row.php


$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Echec de la connexion : %sn", mysqli_connect_error());
exit();
}

$query = "SELECT Nom, CodePays FROM Ville ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

/* Récupération du tableau associatif */
while ($row = mysqli_fetch_row($result)) {
printf ("%s (%s)n", $row[0], $row[1]);
}

/* Libération du jeu de résultats */
mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>


Pour lire les données, il fonctionne parfaitement bien, pour enregistrer des données dans mon espace membres tout va bien.

Là où ça ne va plus, c'est que mes pages protégées ne le sont plus du tout, de plus je crois que le script qui doit vérifier les bons mots de passes et les bons logins, ne fonctionne pas non plus avec ce mysqli ?

Merci de te pencher sur ce problème

Je me demande si je n'ai pas fait des erreurs de frappes à la construction de mon script ?

Jack Bocar
jackbocar
le 10/11/2006 à 08:39
Passer de "sql 'select " à $query = 'SELECT pour espace membres
Bonjour,

Je n'arrive pas à modifier le script du "comment faire" un espace membres de

$sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();


En :

$query ='ELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'"';

if( $result = $link->query($query) )
{
while ($row = mysqli_fetch_row($result)) {
printf ("XXXXXXXXXXXXXXXXXXXXn", $row[0], $row[1], $row[2], $row[3]);
}

}
}
else
echo mysqli_error();
$result->close();
$link->close();


Ne peut-on pas modifier ce script ?
Quelqu'un peut-il me dire comment faire ?
Quelqu'un peut-il me faire une ébauche avec les fonctions "mysqli" ?

Merci de votre aide

Jack Bocar
jackbocar
le 06/11/2006 à 11:42
mysqli
Bonjour,

Merci LA GLOBULE, je suis depuis quelques temps sur le "mysqli", pour comprendre le fonctionnement.

J'avoue que pour la simplicité du code, c'est vraiment de la simplicité, mais pour la mise en page, il faut une autre paire de manches…

>>> LupusMic, je ne connais pas !!
C'est quoi le : mysql_pdo ?
Ca fonctionne avec Mysql 5 et Php5 ?

Jack Bocar
jackbocar
le 05/11/2006 à 17:19
cours astuces cf
Non, ce n'est pas que chez toi.

Je vois la même chose.

Jack Bocar
jackbocar
le 05/11/2006 à 17:16
mysqli
Bonjour

J'aimerai savoir si un jour les nouvelles fonctionnalités de Mysql avec php5 "$link = mysqli_connect", entreront en fonctions et si elles remplaceront définitivement les anciennes fonctionnalités "$link = mysql_connect".

Merci de vos réponses.

Jack Bocar
jackbocar
le 08/10/2006 à 17:42
Wall
Bonjour

Je viens de m'apercevoir qu'il n'était pas nécessaire d'est logué pour poster un Wall !

Pourquoi cette action ne requière t'elle pas d'être logué ?

Jack Bocar
jackbocar
le 07/10/2006 à 07:36
Wall polué
Bonjour

Vas donc voir cette page du Wall :

http://www.lephpfacile.com/wall/wall.php?id=3112

http://jspfr63.info/

Jack Bocar
LoadingChargement en cours