8791 sujets

Développement web côté serveur, CMS

Bonjour

Il y a encore des soucis avec mon script pour enregistrer dans ma base de donnée. Cette fois-ci le message d'erreur me dit :

a écrit :
Warning: mysql_select_db() expects parameter 2 to be resource, null given in /home/www/df7b2a7b74e24d261152ce0c30058381/web/jeu/add.php on line 38
Erreur de selection


Je ne vois pas l'erreur dans ma sélection de base, voici le code pour aller à mysql

<?php
    }  
else
	
	$db = mysql_connect('mysql.triebzug.ch', 'labase', 'motdepasse')  or die('Erreur de connexion '.mysql_error()); 

    mysql_select_db('membre_tbl',$db)  or die('Erreur de selection '.mysql_error()); 
     
    mysql_query("INSERT INTO membre_tbl (id,login, email, password) VALUES ('$login', '$email', '$password')");
      
    mysql_query ($sql) or die( 'Erreur SQL !'.$sql.'</br>'.mysql_error()); 
 
?> 
Ton problème vient surement du fait que tu as omis de mettre des accolades à ton "else".

Dans le cas présent (en admettant que tu n'est pas rentré dans else), ton script passe à mysql_select_db directement.

Le principe de fonctionnement des si/sinon est normalement comme ça :

if(condition){
traitement
}
else{
traitement
}


Tu peux retirer les accolades seulemement si tu n'as qu'une instruction dans ta condition :

if(condition)
echo "Condition OK";
else
echo "Condition NOT OK";
echo "Cet echo ne fait pas partie du if/else";
Pour aider à mieux répondre voilà les if

<?php 
if(isset($_POST['login']))      $nom=$_POST['login'];
else      $login="";

if(isset($_POST['email']))      $email=$_POST['email'];
else      $email="";

if(isset($_POST['password']))      $password=$_POST['password'];
else      $password="";
 
if(empty($login) OR empty ($email) OR empty ($password))
     
?>

    echo '<font color='red'>'Les champs sont pas tous remplis \','</font>; 


Après cet echo se trouve les indications pour aller à mysql mise en ouverture de sujet.
salut,

peux tu poster le code complet en une seule fois la c'est pas clair.

la seule chose de sûre c'est que $db === null

donc soit la connexion n'est pas faite (comme le suggère Apoooo), ce qui peu ce comprendre au vue du peu de code.

soit y a un autre mystère Smiley smile (parce que si la connexion était foireuse tu aurait false).

Tu devrais, normalement, avoir un message d'erreur, donc un error_reporting(E_ALL|E_STRICT); en haut du script est pratique en phase de développement Smiley smile


@+
A votre demande, voici le script complet, j'ai caché le nom du site et le mot de passe de la mysql.

<!DOCTYPE html>
<html lang="fr">
    <head>
        <meta charset="utf-8" />
		<link href="style.css" media="all" rel="stylesheet" type="text/css" />
		<!--[if lt IE 9]>
            <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        <style type="text/css">
    
	header, footer, section, hgroup, aside, nav, article, figure, figcaption, time, dialog { 	
    display: block;
}
     </style>
		<![endif]-->
    </head>
<?php 
if(isset($_POST['login']))      $nom=$_POST['login'];
else      $login="";

if(isset($_POST['email']))      $email=$_POST['email'];
else      $email="";

if(isset($_POST['password']))      $password=$_POST['password'];
else      $password="";
 
if(empty($login) OR empty ($email) OR empty ($password))
     
?>

    echo '<font color='red'>'Les champs sont pas tous remplis \','</font>; 

<?php
    } 
else
	
	$db = mysql_connect('mysql.lesite.ch', 'monsite', 'motdepasse')  or die('Erreur de connexion '.mysql_error()); 

    mysql_select_db('membre_tbl',$db)  or die('Erreur de selection '.mysql_error()); 
     
    mysql_query("INSERT INTO membre_tbl (id,login, email, password) VALUES ('$login', '$email', '$password')");
      
    mysql_query ($sql) or die( 'Erreur SQL !'.$sql.'</br>'.mysql_error()); 
 
?> 

    echo <h3>'Vous êtes enregistré'</h3>; 

<?php
    
    mysql_close(); 
  
?> 


En espérent que ceci va vous aider à me répondre dans ma question.
Des accolades ouvertes par-ci, par-là... Des echo PHP qui ne se trouvent pas entre des balises PHP et des quotes mises n'importe comment... Tu ne lis même pas nos réponses. je ne prendrais donc pas la penne de te dire tes erreurs.

Je te conseil vivement de revoir les bases en HTML / PHP car là tu pars mal, voir très très mal.