Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/02/2010, à 01:44

n3o51

erreur en php mysql error

Bonsoir voila j'ai une erreur avec ce code

<h1>Ajouter une cat&eacute;gorie</h1>
<?php
//Si l'action de valider a été faite
if(isset($_POST["Valider"]))
{
$titre = htmlspecialchars(stripcslashes(trim($_POST["titre"])));
$description = htmlspecialchars(stripcslashes($_POST["description"]));
//Vérification du formulaire
if(empty($titre)){
$alerte0 ='<div class="erreur"><a name="ok"></a>Vous n\'avez pas saisie de titre.</div>';
}
else if(empty($description)){
$alerte1 ='<div class="erreur"><a name="ok"></a>Vous n\'avez pas saisie de description.
</div>';
}
//Si tout est ok
else
{
//on se connecte à la base de données
include('../connexion_bd.php');
 
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de s&eacute;lectionner une base de 
donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;es du fichier 
connexion_bd.php.');
 
//on enregistre les données
$result = mysql_query("INSERT INTO CATEGORIES VALUES
(
'',
'".mysql_real_escape_string($titre)."',
'".mysql_real_escape_string($description)."'
)
");

if (!$result) {
    die('Requête invalide : ' . mysql_error());
}
else{

$message_ok = '<div class="erreur"><a name="ok"></a><b>Cat&eacute;gorie enregistr&eacute;e 
avec succ&egrave;s!</b></div>';
}

}

}

mysql_close();		
?>

  <?php echo $message_ok;?>
<form action="#ok" method="post">
  <?php echo $alerte0;?>
 <p>Titre de la cat&eacute;gorie :<br/>
 <input name="titre" size="65" value="<?php
 if (!empty($_POST["titre"])) {
 echo stripcslashes(htmlspecialchars($_POST["titre"],ENT_QUOTES));
 }?>" type="text"/></p>
  <?php echo $alerte1;?>
 <p>Description de la cat&eacute;gorie :<br/>
 <textarea name="description" rows="10" cols="50" ><?php
 if (!empty($_POST["description"])) {
 echo stripcslashes(htmlspecialchars($_POST["description"],ENT_QUOTES));
 }?></textarea></p>
 
 <p>
 <input name="Valider" value="Valider" type="submit"/>
 <input name="Effacer" value="Effacer" type="reset"/>
 </p>
</form>
</div>

l'erreur c'est

Warning: mysql_close(): no MySQL-Link resource supplied in /var/www/Welcome_Home/zone/ajouter-categorie.php on line 66

il veut quoi tongue

Merci d'avance !!!


Welcome to the real world
________________________________

Hors ligne

#2 Le 19/02/2010, à 11:11

posiweb

Re : erreur en php mysql error

Bonjour,

Essai d'utiliser une variable pour ton identifiant de connexion comme suit :

$link = mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");


ensuite pour fermer la connexion du fait ceci :
mysql_close($link);

Julien Posiweb.
http://www.posiweb.fr

Hors ligne

#3 Le 19/02/2010, à 13:38

n3o51

Re : erreur en php mysql error

Bonjour , merci pour ta réponse mais cela ne solutionne pas le problème.


Welcome to the real world
________________________________

Hors ligne

#4 Le 19/02/2010, à 14:12

n3o51

Re : erreur en php mysql error

Bon visiblement d'après mes lectures le mysql close n'est pas obligatoire ?

php ferme la connection , pouvez vous confirmer ?


Je suis confronté a un soucis de mise en page mais seulement une page

Cette page index.php appel index_admin.php

Voila la page index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">



<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

<head>

	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

	<title>

		INDEX

	</title>

	<!-- La feuille de styles "base.css" doit être appelée en premier. -->

	<link rel="stylesheet" type="text/css" href="../styles/base.css" media="all" />

	<link rel="stylesheet" type="text/css" href="../styles/modele11.css" media="screen" />
</head>



<body>



<div id="global">

<?php include("../entete.php"); ?>



	<div id="centre">

	<div id="centre-bis">



<?php include("../menu.php"); ?>
<!--
code a placé juste avant principal
-->

<?php include("../secondaire.php"); ?>
<?php include("index_admin.php"); ?>

</div><!-- #centre-bis -->

	</div><!-- #centre -->
<?php include("../pied.php"); ?>



</div><!-- #global -->

</body>

</html>

la page inclu le index_admin.php

<div id="principal">

<?php
// on se connecte à la base de données
include('../connexion_bd.php');
 
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de s&eacute;lectionner une base de
 donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;es du fichier
 connexion_bd.php.');
 
//On selectionne les données
$result = mysql_query("SELECT id,nom_categorie FROM CATEGORIES ORDER BY id ASC");
 
//On voit si il y a quelque chose. Si il n'y a rien, on affiche un message
if(mysql_num_rows($result) == 0)
{
echo '<center><div class="cadre"><p>Aucune catégorie pour le moment! <b>>><a title="Ajouter une
 cat&eacute;gorie" href="ajouter-categorie.php">Ajouter une cat&eacute;gorie</a></b></p>
</div></center>';
}
//Si il y a quelque chose, on affiche nos données
else {
echo '<table style="width: 100%;" cellpadding="2" cellspacing="2">

<tr>
<td class="hauttd">Cat&eacute;gories</td>
<td class="hauttd">Modifier</td>
<td class="hauttd">Supprimer</td>
</tr>
';
 
while($affiche = mysql_fetch_array($result))
{
//On calcul le nombre d'article dans chaque catégorie
$calcul=$affiche['id'];
$result1 = mysql_query("SELECT id_categorie FROM CONTENU WHERE id_categorie=$calcul");
$total = mysql_num_rows($result1);
//Fin du calcul
echo '<tr><td><a href="voir-categorie.php?id='.$affiche['id'].'">'.$affiche['nom_categor
ie'].'('.$affiche['nom_categorie'].')</a></td>
<td><a href="modifier-categorie.php?id='.$affiche['id'].'"><img src="images/modifier.png"
 alt="Modifier"/></a></td>
<td><a href="supprimer-categorie.php?id='.$affiche['id'].'"><img src="images/supprimer.
png" alt="Supprimer"/></a></td></tr>';

}
//On ferme else
}

//Fermeture de la connexion à la base de données
mysql_close();

?>

</div><!-- #principal -->

et mes deux css

modele.css :

/* Général */

body {

	color: #F0E39E;

	background: #2C2F22;

}

a {

	color: #FF6533;

}

a:hover, a:focus {

	color: #FF4C00;

}

strong {

	color: #A1B55D;

}



/* Conteneur central */

#centre {

	background: url(img/11-colgauche.png) repeat-y left top;

}

#centre-bis {

	background: url(img/11-coldroite.png) repeat-y right top;

}



/* Navigation */

#navigation {

	background: #181A12;

}

#navigation a {

	color: #FF6533;

}

#navigation a:hover, #navigation a:focus {

	background: #000000;

}



/* Contenu principal */

#principal {

	color: #181A12;

	background: #cbd888;

}

#principal a {

	color: #332510;

}

#principal a:hover, #principal a:focus {

	color: #6E5122;

}

#principal strong {

	color: #181A12;

}



/* Contenu secondaire */

#secondaire {

	background: #181A12;

}







/* --- POSITIONNEMENT --- */



/* Page */

body {

	padding: 20px 5px;

}

#global {

	width: 90%;

	max-width: 90em;

	min-width: 850px;

	margin-left: auto;

	margin-right: auto;

}



/* En-tête */

#entete {

	padding: 20px 0;

}

#entete h1 {

	margin: 0;

}

#entete h1 img {

	float: left;

	margin: 7px 20px 10px 0;

}

#entete .sous-titre {

	margin: 4px 0 15px 0;

}



/* Bloc central */

#centre-bis {

	width: 100%;

	overflow: hidden;

}



/* Menu de navigation */

#navigation {

	float: left;

	width: 180px;

}

#navigation ul {

	margin: 0;

	padding: 20px 10px 20px 10px;

	list-style: none;

}

#navigation a {

	display: block;

	height: 1%;

	padding: 6px 10px 6px 10px;

	line-height: 1.5;

	font-size: .9em;

	text-decoration: none;

}



/* Contenu principal */

#principal {

	margin-left: 200px;

	margin-right: 260px;

	padding: 10px 20px;

}

#principal > :first-child {

	margin-top: 10px;

}

#principal p, #principal li {

	line-height: 1.5;

}



/* Contenu secondaire */

#secondaire {

	float: right;

	width: 200px;

	padding: 12px 20px;

}



/* Pied de page */

#pied {

	margin: 0;

	padding: 15px 260px 10px 200px;

	font-size: .85em;

}



/* Mention de copyright */

#copyright {

	margin: 8px 0 0 0;

	font-size: 1em;

	text-align: left;

}

et base.css :

/* --- STYLES DE BASE POUR LE TEXTE ET LES PRINCIPAUX ÉLÉMENTS --- */

.hauttd {text-align: center; font-weight: bold; background-color:#ECFAFF;}


/* Page */

html {

	font-size: 100%; /* Voir -> Note 1 à la fin de la feuille de styles. */

}

body {

	margin: 0;

	padding: 10px 20px; /* Note -> 2 */

	font-family: Verdana, "Bitstream Vera Sans", "Lucida Grande", sans-serif; /* 3 */

	font-size: .8em; /* -> 4 */

	line-height: 1.25; /* -> 5 */

	color: black;

	background: white;

}



/* Titres */

h1, h2, h3, h4, h5, h6 {

	margin: 1em 0 .5em 0; /* -> 6 */

}

h1, h2 {

	font-family: Georgia, "Bitstream Vera Serif", Norasi, serif;

	font-weight: normal; /* -> 7 */

}

h1 {

	font-size: 3em; /* -> 8 */

	font-style: italic;

}

h2 {font-size: 1.8em;}

h3 {font-size: 1.2em;}

h4 {font-size: 1em;}



/* Listes */

ul, ol {

	margin: .75em 0 .75em 24px;

	padding: 0; /* -> 9 */

}

ul {

	list-style: square;

}

li {

	margin: 0;

	padding: 0;

}



/* Paragraphes */

p {

	margin: .75em 0;

}

li p, blockquote p {

	margin: .5em 0;

}



/* Citations */

blockquote, q {

	font-size: 1.1em;

	font-style: italic;

	font-family: Georgia, "Bitstream Vera Serif", Norasi, serif;

}

blockquote {

	margin: .75em 0 .75em 24px;

}

cite {

	font-style: italic;

}



/* Liens */

a {

	color: mediumblue;

	text-decoration: underline;

}

a:hover, a:focus {

	color: crimson;

}

a img {

	border: none; /* -> 10 */

}



/* Divers éléments de type en-ligne */

em {

	font-style: italic;

}

strong {

	font-weight: bold;

	color: dimgray;

}

td {text-align: center; border: 1px solid #FFFFFF; background-color:#FBFBFB ; 
color:#000000; }




/* --- STYLES POUR CERTAINS CONTENUS DES GABARITS --- */



pre, code {

	font-size: 100%;

	font-family: "Bitstream Vera Mono", "Lucida Console", "Courier New", monospace;

}

pre {

	width: 90%;

	overflow: auto;

	overflow-y: hidden;

	margin: .75em 0;

	padding: 12px;

	background: #eee;

	color: #555;

}

pre strong {

	font-weight: normal;

	color: black;

}

#copyright {

	margin: 20px 0 5px 0;

	text-align: right;

	font-size: .8em;

	color: #848F63;

}

#copyright a {

	color: #848F63;

	text-decoration: none;

}

#copyright a:hover, #copyright a:focus {

	text-decoration: underline;

}



.cadre{
height: auto;
background:#ECFAFF;
border: 1px solid #D5F4FF;
margin:5px;
padding:5px;
}

Le soucis c'est que je n'es aucun probleme avec d'autre page seulement quand j'inclus le index_admin avec le tableau dedans j'ai le pide de ma page qui vient avant le tableau mais il se retrouve pas bien positionné en pied de page


une image :
http://www.monsterup.com/upload/1266582482617.png

Dernière modification par n3o51 (Le 19/02/2010, à 14:29)


Welcome to the real world
________________________________

Hors ligne

#5 Le 19/02/2010, à 19:03

posiweb

Re : erreur en php mysql error

Salut,

Oui la connexion mysql se ferme à la fin de la lecture d'une page, mais il est toujours mieux de la fermer avant (bref... si cela fonctionne, très bien).

Pour ton soucis de mise en page se serait bien que tu mette ta page en ligne pour que j'y vois un peu plus clair, si c'est possible ??

Ou alors tu affiche le code tel qu'il est généré par php.

Car la c'est difficile d'avoir une vue d'ensemble.

Julien.

Hors ligne

#6 Le 19/02/2010, à 19:59

magestik

Re : erreur en php mysql error

Yop,

Plusieurs choses.

1) D'abord :

mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base")

Ca changera peut-être rien sur ton site mais normalement ca c'est plus rapide :

mysql_connect($nom_du_serveur,$nom_utilisateur,$passe);
mysql_select_db($nom_de_la_base)

Y'a une explication que je pourrais te donner si tu la veux.

2) Pour le vrai problème je suis d'accord avec posiweb.

$BDD = mysql_connect($nom_du_serveur,$nom_utilisateur,$passe);
mysql_select_db($nom_de_la_base, $BDD)

et à la fin :

mysql_close($BDD)

3) Pour faciliter les choses utilise PDO. Au début c'est un peu tordu mais dès que tu as bien compris c'est beaucoup plus pratique. En plus dans PHP6 les mysql_* auront disparu et tu ne pourra plus utiliser que PDO. Donc c'est une bonne habitude à prendre.

Voilà,

Magestik

Hors ligne

#7 Le 19/02/2010, à 21:29

n3o51

Re : erreur en php mysql error

Merci pour tout visiblement cela fonctionne.

Je vais regarder pour PDO que je connais pas j'ai reussi a faire ce que je voulais ,par contre pour l'erreur link même si je remplace par le code de posiweb c'est idem donc j'ai pas insisté mais je vais y regarder.

Pour PDO si vous avez des liens a faire passer je veut bien

En tout cas , pour la mise en page j'ai regler simplement un oublie de balise table en fin de code big_smile


Merci a vous big_smile


Welcome to the real world
________________________________

Hors ligne