begin process at 2012 02 15 00:46:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

"No database selected"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

"No database selected"

jeudi 14 août 2008 à 20:30:56 | "No database selected"

batoule80

bonjour,
j'ai beau cherché sur les forum une solution à mon problème , mais en vain
voici mon code :

fichier : add_user.php :
<code>
<?php
// connexion à la base
include_once('fonctions.php');
$result db_connect();
 if (!
$result)
die(
mysql_error());
 
// selection de la base de données$select = @mysql_select_db($dbName,$result);
if (!$select)
die(
mysql_error());
?>
 
<form action="register_new.php" method="post" > 
<td>
     <a class="toolbar" >
     <input type='submit' name='save' value='' class='bt_sauver' />sauver</a> <br>
</td>
 
<td>
<a class="toolbar" >
<input type='submit' name='apply' value='' class='bt_apply'/>
appliquer</a> <br> 
</td> 
<td >
Nom*:</td>
<td>
<input type="text" name="nom" class="inputbox" size="40" value="<?=stripslashes($nom); ?>" maxlength="50"> </td>
</tr>
<tr>
<td>
Pr&eacute;nom*: </td>
<td>
<input type="text" name="prénom" class="inputbox" size="40" value="<?=stripslashes($prénom); ?>" maxlength="25"> </td>
<tr>
<td>Adresse E-mail* :</td>
<td><input type="text" name="email" class="inputbox" size="40" value="<?=stripslashes($email); ?>" maxlength="25"> </td>
</tr>
<tr>
<td>Login :</td>
<td><input type="text" name="login" class="inputbox" size="40" value="<?=stripslashes($login); ?>" maxlength="50"></td>
</tr>
<tr>
<td>Mot de passe* : </td>
<td><input class="inputbox" type="password" name="passwd" size="40" value="" maxlength="25"></td>
</tr>
<tr>
<td> Confirmer le mot de passe: </td>
<td><input class="inputbox" type="password" name="passwd2" size="40" value=""> </td>
</tr>
<tr>
<td>Numero de téléphone : </td>
<td><input class="inputbox" type="text" name="num_téléphone" size="40" value="<?=stripslashes($num_téléphone); ?>"></td>
</tr>
<tr>
<td>Numero de portable :</td>
<td><input class="inputbox" type="text" name="num_portable" size="40" value="<?=stripslashes$num_portable); ?>"></td>
</tr>
<tr>
<td >Poste interne : </td>
<td><input class="inputbox" type="text" name="poste_interne" size="40" value="<?=stripslashes($poste_interne); ?>"></td>
</tr>
<tr>
<td> Fax : </td>
<td><input class="inputbox" type="text" name="fax" size="40" value="<?=stripslashes($fax); ?>"></td>
</tr>
<tr>
<td valign="top">Adresse : </td>
<td><textarea cols="60" rows="10" name="adresse" class="inputbox"></textarea></td>
</tr>
<tr>
<td >Division* : </td>
<? $Resultmysql_query("Select * from division");
 
$nb mysql_num_rows($Result);
$ListDiv '<option value="0">Toutes Divisions</option>';
while (
$data mysql_fetch_row($Result))
{
echo 
'<option value="'.$data['id_division'].'">'.$data[' division'].'</option>';
}
?>
<td><select name="id_division" id="id_division">
<?=$ListDiv?>
</select>
</td>
</tr>
<tr>
<td>profession : </td>
<td><input class="inputbox" type="text" name="profession" size="40" value="<?=stripslashes($profession); ?>"></td>
</tr>
</table> </td>
</tr>
</table>
</form> 


</code>

et le fichier : register_new.php :
<code>
<?php
 
 
// Inclut le fichier de fonctions pour cette application.
require_once('fonctions.php');
 
// création des variables aux noms abrégés
$nom = isset($_POST'nom' ]) ? $_POST'nom' ] : '';
$prénom = isset($_POST['prénom']) ? $_POST['prénom'] : '';
$email = isset($_POST'email']) ? $_POST'email'] : '';
$login = isset($_POST'login']) ?$_POST'login'] : '';
$passwd = isset($_POST'passwd']) ?$_POST'passwd'] : '';
$passwd2 = isset($_POST'passwd2']) ? $_POST'passwd2'] : '';
$num_téléphone = isset($_POST'num_téléphone'])? $_POST'num_téléphone' ]: '';
$num_portable = isset($_POST'num_portable' ])? $_POST'num_portable' ]: '';
$poste_interne = isset($_POST'poste_interne'])? $_POST'poste_interne' ]: '';
$fax = isset($_POST'fax' ])? $_POST'fax' ]: '';
$adresse = isset($_POST'adresse']) ? $_POST'adresse' ]: '';
$division =isset($_POST'division']) ? $_POST'division' ]: '';
$profession =isset($_POST'profession']) ? $_POST'profession' ]: '';
$loginAttempts =isset($_POST'loginAttempts']) ? $_POST'loginAttempts' ]: '';
 
// Démarrage d'une session dont nous aurons besoin plus tard.
 
session_start();
 
 
// Vérifie les formulaires remplis.
if((isset($_POST["apply"]))||(isset($_POST["save"])))
{
$verif=true;
// connexion à la base
 
$result db_connect();
if (!
$result)
die(
mysql_error());
 
// selection de la base de données
$select = @mysql_select_db($dbName,$result);
if (!
$select)
die(
mysql_error());
$res=mysql_query("select * from hd_utilisateur where username='$login'");
$num=mysql_num_rows($res);
if (!
$num)
die(
mysql_error());
if (!
filled_out($HTTP_POST_VARS))
{
$verif=false;
echo (
'<font color="red">Attention, veuillez remplir tout les champs </font>');
//on recharge la page :le meme formulaire : appliquer cette instruction ailleurs
header("Location:add_user.php") ;
}
 
// L'adresse e-mail n'est pas valide.
elseif (!valid_email($email))
{
$verif=false;
echo (
'Entrez une adresse e-mail valide!!');
header("Location:add_user.php") ;
}
 
elseif(
$num >=1)
{
$verif=false;
echo 
"Désolé, ce login existe déja choisir un autre login S.V.P ";
 
}
//Les mots de passe ne sont pas identiques.
elseif ($passwd != $passwd2)
{
$verif=false;
echo (
'Les mots de passes ne correspondent pas');
header("Location:add_user.php") ;
}
// Vérifie si la longueur du nom d'utilisateur est ok.
elseif (strlen($login)>16)
{
$verif=false;
echo (
'Votre nom d\'utilisateur doit etre inférieur à 16 caractères');
//exit;
}
 
elseif (!
ereg ("[a-zA-Z]"$nom$regs) or ereg ("[0-9]"$nom$regs))
{
$verif=false;
echo 
"Format de nom invalide : $nom";
}
elseif (!
ereg ("[a-zA-Zéè'à]"$prenom$regs) or ereg ("[0-9]"$prenom$regs))
{
$verif=false;
echo 
"Format de prenom invalide : $prenom";
}
elseif (!
ereg ("[0-9/-:+-]"$num_téléphone$regs) or ereg ("[a-zA-Z]"$num_téléphone$regs))
{
$verif=false;
echo 
"Format de telephone invalide : $num_téléphone";
}
 
elseif (!
ereg ("[0-9/-:+-]"$num_portable$regs) or ereg ("[a-zA-Z]"$num_portable$regs))
{
$verif=false;
echo 
"Format de telephone invalide : $num_portable";
}
 
elseif (!
ereg ("[0-9/-:+-]"$poste_interne$regs) or ereg ("[a-zA-Z]"$poste_interne$regs))
{
$verif=false;
echo 
"Format de telephone invalide : $poste_interne";
}
 
elseif (!
ereg ("[0-9/-:+-]"$fax$regs) or ereg ("[a-zA-Z]"$fax$regs))
{
$verif=false;
echo 
"Format de fax invalide : $fax";
}
 
elseif(
strlen($adresse)>255)
{
$verif=false;
echo 
"Format d'adresse invalide : elle a dépassé 255 caractères";
}
 
//Aucun champ n'est vide, on peut enregistrer dans la table
 
else
{
if(
$verif)
{
// connexion à la base
$result db_connect();
if (!
$result)
die(
mysql_error());
 
// selection de la base de données
$select = @mysql_select_db($dbName,$result);
if (!
$select)
die(
mysql_error());
 
// on écrit la requête sql
 
$sql "INSERT INTO hd_utilisateur (nom, prenom,email, username, passwd,telephone,user_mobile,poste_interne,fax,adresse,division,profession) VALUES('$nom','$prénom','$email','$login','$passwd','$num_téléphone','$num_portable','$poste_interne','$fax ', '$adresse ','$division','$profession ')";
 
 
// on insère les informations du formulaire dans la table
 
mysql_query($sql) or die('Erreur SQL !');
 
mysql_close();
 
// on affiche le résultat pour le visiteur
 
echo 'Vos données ont été ajoutées.';
 
} }
 
}
?>


</code>

et le fichier fonctions.php :

<code>
<?php
 
/*
-------------------------------------------------------------------------------------
*Fonction qui établit la connexion à la base de données MySQL
-----------------------------------------------------------------------------------------
*/
 
Function db_connect()
{
$dbHost "localhost";
$dbUser "root";
$dbPass "";
$dbName "db_helpdesk";
$result = @mysql_connect($dbHost$dbUser$dbPass) ;
 
$select= @mysql_select_db($dbName,$result);
if (!
$select)
die (
mysql_error());
if (!
$result)
die(
mysql_error());
else
return 
$result;
 


/*
-------------------------------------------------------------------------------------
*Fonction qui vérifie que le formulaire a bien été rempli
-----------------------------------------------------------------------------------------
*/
 
function filled_out($form_vars)
{
// Teste si chaque variable contient une valeur.
 
foreach ($form_vars as $key => $value)
{
if (!isset(
$key)||($value == ''))
return 
false;
 
}
 
return 
true;
}
 
 
/*
-------------------------------------------------------------------------------------
*Fonction qui vérifie que l'adresse e-mail est valide
-----------------------------------------------------------------------------------------
*/
 
function valid_email($address)
{
// Vérifie que l'adresse e-mail est valide.
 
if (ereg('^[a-zA-Z0-9 \._\-]+@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]+$'$address))
return 
true;
else
return 
false;
 
 
}
?>

</code>

le fichier create.php qui permet de créer ma base et mes tables :

<code>
 <?php 
$link 
"CREATE DATABASE db_helpdesk";
$res mysql_query($link) or die(mysql_error());
 
mysql_select_db("db_helpdesk");
 
$link "
CREATE TABLE `hd_utilisateur` (
`id_user` int(11) NOT NULL auto_increment PRIMARY KEY,
`nom` text NOT NULL,
`prenom` text NOT NULL,
`email` varchar(255) NOT NULL default '',
`username` varchar(16) NOT NULL,
`passwd` varchar(50) NOT NULL default '',
`telephone` varchar(50) NOT NULL default '',
`user_mobile` varchar(50) NOT NULL default '',
`poste_interne` varchar(50) NOT NULL default '',
`fax` varchar(50) NOT NULL default '',
`adresse` varchar(200) NOT NULL default '',
`profession` text NOT NULL,
`fk_division` int(11),
`user_type` text NOT NULL
) AUTO_INCREMENT=1;" 
;
$res mysql_query($link) or die(mysql_error());
 
$link "
CREATE TABLE `hd_division` (
`id_division` int(11) NOT NULL auto_increment PRIMARY KEY,
`division` text NOT NULL,
`fk_centre_cout` int(11)
) AUTO_INCREMENT=1;"
;
$res mysql_query($link) or die(mysql_error());
 
$link "
CREATE TABLE `hd_centre_cout` (
`id_centre_cout` int(11) NOT NULL auto_increment PRIMARY KEY
) AUTO_INCREMENT=1;"
;
$res mysql_query($link) or die(mysql_error());
 
$link "
CREATE TABLE `hd_incident` (
`id_incident` int(11) NOT NULL auto_increment PRIMARY KEY,
`fk_type_incident` varchar(200) NOT NULL default '',
`fk_sous_type_incident` varchar(200) NOT NULL default '',
`fk_statut` int(11),
`fk_user` int(11),
`Date_creation` date,
`Date_échéance` date ,
`Date_fermeture` date ,
`objet` varchar(200) NOT NULL default '',
`message` varchar(200) NOT NULL
 
)AUTO_INCREMENT=1;"
;
 
$res mysql_query($link) or die(mysql_error());
$link "
CREATE TABLE `hd_statut` (
`id_statut` int(11) NOT NULL auto_increment PRIMARY KEY,
`nom_statut` text NOT NULL,
`description` text NOT NULL
)AUTO_INCREMENT=1;"
;
 
$res mysql_query($link) or die(mysql_error());
 
$link "
CREATE TABLE `hd_type_incident` (
`id_type_incident` int(11) NOT NULL auto_increment PRIMARY KEY,
`description` text NOT NULL,
`fk_user` int(11)
)AUTO_INCREMENT=1;"
;
 
$res mysql_query($link) or die(mysql_error());
 
$link "
CREATE TABLE `hd_sous_type_incident` (
`id_sous_type_incident` int(11) NOT NULL auto_increment PRIMARY KEY,
`description` text NOT NULL,
`fk_type_incident` int(11),
`fk_user` int(11)
)AUTO_INCREMENT=1;"
;
 
$res mysql_query($link) or die(mysql_error());
 
 
if (
$res)
die(
"<p>Base de données créee avec succés . SVP supprimez ce fichier pour des raisons de sécurité .</p>");
?>

</code>
une question qui m'intrigue concernant les clés étrangères , pourai-je ajouter le type innodb dans le fichier create.php pour bien les gérer ? si oui au niveau de quelles tables ? est_ce celles contenant les clés étrangères ? et comment l'ajouter ?

désolée si vous trouvez mon code pas trés propre " je suis novice"

merci pour tous ceux qui prondront le temps pour lire mon message et de me dire où j'ai commis des erreurs


samedi 16 août 2008 à 02:20:25 | Re : "No database selected"

batoule80

Réponse acceptée !
salut,
j'ai pu réglé le problème , j'ai désinstallé wamp et je suis passée à easyphp "problème de configuration" concernant l'affichage des erreurs
voici le nouveau message d'erreur :

Notice: Undefined variable: dbName in c:\program files\easyphp1-8\www\help desk\administrateur\add_user.php on line 50
No database selected

en effet dans ma fonction :
<code>
Function db_connect()
{

$dbHost = "localhost";
$dbUser = "root";
$dbPass = "";
$dbName = "db_helpdesk";
$result = mysql_connect($dbHost, $dbUser, $dbPass) ;
if(!$result)
die(mysql_error());
$select= mysql_select_db($dbName,$result);
if(!$select)
die (mysql_error());
 
else
return$result;
 
}
 </code>

les variables déclarées dans cette fonction ne sont accéssible qu'à
l'intérieur de cette meme fonction alors il suffisait d'ajouter la
ligne :

<code>
global $dbHost,$dbUser, $dbPass,$dbName;
</code>

voilà et un problème de plus résolu
 






Cette discussion est classée dans : mysql, post, num, not, die


Répondre à ce message

Sujets en rapport avec ce message

mysql_num_rows() probleme avec la vérification du pseudonyme [ par BelphegorCLC ] Salut,voila j'ai un probleme avec la vérification du pseudonyme, j'ai déja bien cherché sur plusieurs forum et tuto, essayé plusieurs mise en forme de php sql [ par kelm_by ] salut,quend j'entre les ligne a ajouter selement la dernier ligne qui est insererif(isset($_POST['text']) && !empty($_POST['text'])){$a=explode("\n",$ IProbleme insertion dans BDD [ par Gregitou ] Bonjour,voilà j'ai un code qui permet de récupérer des infos d'un formulaire, puis de les insérer dans ma BDD.Ce code, a marché la premiere fois, et m insertion dans la base mysql [ par ikramta ] salut tout le mande.je veut inserer ces informations dans la base mais l'orsque je clique le bouton rien ne m'affiche.qui peut me dire ou est le defau comparaison avec php/mysql [ par cyrilherve ] bonjour à tous ,je developpe depuis avec php/mysql et j'utlise pour cela wamp 2.0je suis confronté à un probleme de depuis peut, voici mon code:[CODE] Besoin d'aide pour mon script [ par pierrehs ] Bonjour, J'ai créé un petit script pour une installation automatique de mon site. Voici le code d'installation [code=php]<?php if(isset($_POST['sett Problème avec mon code php [ par pierrehs ] Bonjour, Je suis en train de créer un installateur automatique pour cakephp Mais j'ai une erreur. Pouvez-vous m'aidez Voici le code d'installation [ probleme insertion dans table mysql a partir de données formulaire [ par LaTatadu91 ] Bonjour,Voici un bon moment que je n'ai pas utilisé ni PHP ni MySQLet je me retrouver eprdu pour un truc tout simple: insérer des champs dans une tabl probléme avec mysql_num_rows qui ne retourne pas de valeur correcte [ par lylya ] Bonjour. j'ai un probléme avec le mysql_num_rows j'ai beau ecrire correctement la requete mais la valeur qu'il me renvoie n'ai pas la bonne voici un b mysql_real_escape_string ne marche pas dans mon cas :'( [ par ju0123456789 ] Bonjour, Sur mon site, il y a possibilité d'ajouter des albums photos, ça fonctionne très bien, jusqu'à ce qu'un membre ajoute un album contenu une a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,696 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales