Probleme avec mon lien lire la suite

Résolu
ghisloy Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -  
bg62 Messages postés 23717 Date d'inscription   Statut Modérateur Dernière intervention   - 18 nov. 2015 à 12:10
Bonjour,
svp veuillez bien m'aider.
Sur mon index, j'ai ceci : des articles avec le lien lire la suite à la fin.


je voudrais faire afficher la suite des articles en cliquant sur lire la suite mais mysql me renvoie l erreur que voici: ''Notice: Undefined variable: mysql in C:\Program Files (x86)\EasyPHP-12.1\www\ESTABAT_LOME\htdocs\Actualites\index.php on line 45

Fatal error: Call to a member function run() on a non-object in C:\Program Files (x86)\EasyPHP-12.1\www\ESTABAT_LOME\htdocs\Actualites\index.php on line 45'' ma requette sql se trouve ici:

<code sql> <?php 
$lire=isset($_GET['lire'])?$_GET['lire']:0;
$sql="SELECT * FROM `actualites` WHERE  md5(numero)='$lire' LIMIT 1;"; $r=$mysql->run($sql); 
if(count($r)==0){ 
	$sql="SELECT * FROM `actualites` WHERE  1 ORDER BY publie DESC LIMIT 10 ;"; 
	$r=$mysql->run($sql); echo $mysql->error; for($i=0; $i<count($r); $i++){?>
	<div style="margin-bottom:10px;">
		<a style="color:#999;" href="<?php echo $UP; ?>htdocs/actualites/?lire=one&id=<?php echo md5($r[$i]["numero"]) ?>">
		<img src="<?php echo $UP; ?>images/actualites/<?php echo $r[$i]['image']; ?>" width="200" style="float:left; margin-right:10px;"></a>
		<h3 style="font-size:17px; margin-bottom:0; padding-bottom:5px;">
			<a style="color:#999; text-decoration:none;" href="<?php echo $UP; ?>htdocs/Actualites/?lire=one&id=<?php echo md5($r[$i]["numero"]) ?>">
			<strong style="color:#1182B5; font-weight:bold; font-size:16px;"><?php echo stripslashes($r[$i]['titre']); ?></strong></a>
		</h3>
		<?php echo $func->fDate(substr($r[$i]["publie"], 0, 10)) ?><br>
		
	</div><?php
</code>


A voir également:

3 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   526
 
Salut,

L'erreur indique simplement que la variable $mysql n'est définie nulle part.
N'aurais tu pas oublié d'inclure la connexion à la bdd ?

Bonne journée
0
ghisloy Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai bien sûr inclus la connexion à la base de données. j'ai même enlevé la fonction include et ecrit intégralement le code de connexion pourtant. que faire?
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   526
 
As tu la même erreur en ajoutant le code de connexion ? Peux tu nous montrer ton nouveau code avec la connexion (en masquant le mot de passe) ?
0
ghisloy Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
 
le code de connexion :
<?php
  
	$BDD_hote = '127.0.0.1'; // ou adresse ip de la base 
	$BDD_bd = 'estabat'; 
	$BDD_utilisateur = 'root';
	$BDD_mot_passe = '****';
	
	// tentative de connexion
	try{
		$bdd = new PDO('mysql:host='.$BDD_hote.';dbname='.$BDD_bd, $BDD_utilisateur, $BDD_mot_passe);
		$bdd->exec("SET CHARACTER SET utf8");
		$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
	}
	
	// gestion des erreurs
	catch(PDOException $e){
		echo 'Erreur : '.$e->getMessage();
		echo 'N° : '.$e->getCode();
	}
?>
0
bg62 Messages postés 23717 Date d'inscription   Statut Modérateur Dernière intervention   2 406
 
lut;)
avant toutes choses il te faudrait vérifier et ton codage et ton 'encodage' car avoir des caractères assez bizzzzzarement affichés = pas normal !
0
ghisloy Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
 
oui j'ai toujours la même erreur aussi sur certaine page j'ai déclaré
$UP=$URL
ca me dit également variable non definie pour ça aussi :-(
voic mon code de connexion
<?php
  
	$BDD_hote = '127.0.0.1'; // ou adresse ip de la base 
	$BDD_bd = 'estabat'; 
	$BDD_utilisateur = 'root';
	$BDD_mot_passe = '*****';
	
	// tentative de connexion
	try{
		$bdd = new PDO('mysql:host='.$BDD_hote.';dbname='.$BDD_bd, $BDD_utilisateur, $BDD_mot_passe);
		$bdd->exec("SET CHARACTER SET utf8");
		$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
	}
	
	// gestion des erreurs
	catch(PDOException $e){
		echo 'Erreur : '.$e->getMessage();
		echo 'N° : '.$e->getCode();
	}
?>
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   526
 
Dans le code ci-dessus, l'instance PDO est stocké dans la variable $bdd, or dans ton premier code tu essayes d'utiliser l'instance de PDO via la variable $mysql.
Il suffit donc que tu réutilises la bonne variable correspondant à l'instance de PDO dans ton premier code, à savoir $bdd.

Pour l'erreur $UP = $URL; où est définie la variable $URL ?
0
ghisloy Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
 
Merci j'ai pu résoudre le problème de la variable non déclarée en fait il s'agissait de la class mysql que je n'avais pas appelé... :-( en ce qui concerne $UP=$URL je ne l'ai défini nul part j'ai juste mis ça là. le plus drole est que ça marche mais pourtant me renvoie ce message et quand je l'enleve plus rien ne marche je parle des fichier css et java scripts que j'appel dans le header
<?php $UP=$URL;
$ROOT=$_SERVER['DOCUMENT_ROOT']."/"; $LC="127.0.0.1"; $FOLD="ESTABAT_LOME";
$ONLINE=$_SESSION['ONLINE']=false;
$ROOT.=($ONLINE?"/ESTABAT_LOME":"$FOLD"); $_SESSION['UP']=$_SESSION['ROOT']=$ROOT; 
?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<?php $title="Ecole Supérieur des Techniques Appliquées en Bâtiment";?>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="<?php echo $UP; ?>../../jscss/js/datetime.js"></script>
    <script type="text/javascript" src="<?php echo $UP; ?>../../jscss/js/jquery-1.8.1.min.js"></script>
    <script type="text/javascript" src="<?php echo $UP; ?>../../jscss/js/initmenu.js"></script>
    <script type="text/javascript" src="<?php echo $UP; ?>../../jscss/js/commons.js"></script>
    <script type="text/javascript" src="<?php echo $UP; ?>../../jscss/js/save_control.js"></script>
    <script type="text/javascript" src="<?php echo $UP; ?>../../jscss/js/sendmail.js"></script>
    <link rel="stylesheet" type="text/css" href="<?php echo $UP; ?>../../jscss/css/accordeon.css"/>
    <link rel="stylesheet" type="text/css" href="<?php echo $UP; ?>../../jscss/css/newstyles.css"/>
    <link rel="stylesheet" type="text/css" href="<?php echo $UP; ?>../../jscss/css/responsive_base.css"/>
    <link rel="stylesheet" type="text/css" href="<?php echo $UP; ?>../../jscss/css/herite.css"/>
    <script type="text/javascript" language="javascript">var UP="<?php echo $UP; ?>", URLSITE="<?php echo $URL; ?>", inSession=<?php echo $inSession?'true':'false'; ?>, BRW=browser(), infoB='';</script>
    <title><?php echo $title; if(isset($ErrorDocument)) echo "$ErrorDocument - Error $ID_ERROR"; ?></title>
	


</head>
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   526
 
Si la variable $URL n'est pas définie, tu peux enlever ton erreur en initialisant $UP avec une chaine vide :
$UP = '';


Mais puisque cette variable ne sert à rien dans ce cas, autant supprimer son initialisation ainsi que toutes ces utilisations.
0
ghisloy Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
 
ok merci et c'est réglé
0
bg62 Messages postés 23717 Date d'inscription   Statut Modérateur Dernière intervention   2 406
 
ok, = cool et @+ :)
0