Wamp 5 Version 1.6.6

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Wamp 5 Version 1.6.6

par damours111 » 13 févr. 2007, 00:13

C'était cela; il fallait passer par &_GET !
Merci è Truc et je viens de comprendre le pourquoi avec l'explication de ouckileou!

Donc maintenant pour plus de sécurité je vais uliliser les variables en précisant d'ou elles proviennent.

Je vais remettre php 5 et voir si tout reste ok. Sinon je vous fais signe è nouveau

Encore meci pour l'aide et pour l'explication!

Alain

par ouckileou » 12 févr. 2007, 23:37

ceci expliquerait donc ton problème :
dans les versions précédentes de PHP, les variables était dites globales. C'est à dire que si tu passais une variable $variable dans une url, tu la récupérais simplement dans la page cible avec $variable.

Maintenant, pour utiliser une variable, tu dois préciser d'où elle vient :
echo $variable; // variable du script courant
$_GET['variable']; // variable transmise par l'url
$_POST['variable']; // variable transmie parméthode Post
$_COOKIE['variable']; // variable venant d'un cookie (c'est bien fait hein)
// etc etc
Donc là tu as du changer de version de PHP (c'est pour ça que je te l'avais demandé...) et donc ta variable $id_chats ne correspond à rien comme ça.


Regarde ce sujet de la FAQ pour comprendre les raisons de ce changement : http://www.phpfrance.com/forums/voir_sujet-48.php

par Truc » 12 févr. 2007, 22:52

POST n'est pas en relation avec GET...

Si tu passes par des liens alors tu dois utiliser $_GET
(POST plus couramment utilisé pour les formulaires)

par damours111 » 12 févr. 2007, 22:31

D'où vient $id_chats ? Si c'est une variable transmise par un lien, est-ce que tu la récupères avec $_GET ?

Affiche la requête qui est exécutée et regarde ce que ça donne :
$sql = "SELECT id_chats, descriptif, etat, nom, numero_photo,  photo FROM chats WHERE (id_chats = $id_chats)" ;
echo $sql; // <--------------- ici 
Oui $id_chats est une varaible transmise par une autre page de cette façon:
echo  "<a href='photos_chats.php?id_chats=$id_chats'> <img src= $miniature></a> ";
Donc je ne me sert pas de $_GET car je n'utilise pas POST et dans l'autre porgramme c'est sensiblement la même chose, mais tout marche sur l'autre ordi.

Voici la réponse avec la requête echo $sql:
SELECT id_chats, descriptif, etat, nom, numero_photo, photo FROM chats WHERE (id_chats = )
Effectivement il ne semble pas atrribuer le bon no. à id_chats, mais par contre, dans l'affichage de la barre d'adresse, le numéro id_chats correspond au bon numéro demandé.

Merci

Alain

par ouckileou » 12 févr. 2007, 22:01

D'où vient $id_chats ? Si c'est une variable transmise par un lien, est-ce que tu la récupères avec $_GET ?

Affiche la requête qui est exécutée et regarde ce que ça donne :
$sql = "SELECT id_chats, descriptif, etat, nom, numero_photo,  photo FROM chats WHERE (id_chats = $id_chats)" ;
echo $sql; // <--------------- ici 

par damours111 » 12 févr. 2007, 21:54

Jaimerais que cela soit le problème mais... même si j'enlève,déplace ou peut importe ce que je fais avec les parenthèses, toujours le même problème (ou j'ai un autre message d'erreur qui m'est très normal).

Le problème devrait être au niveau de la configuration car pour les deux programmes, ils fonctionnent sur un ordi et pas sur l'autre et de plus, ils fonctionne en ligne sur le serveur avec les deux ordi. Donc c'est sur le serveur localhost du deuxième ordi que quelque chose ne fonctionne pas.. il me semble!

Mais qu'est-ce que cela peut-être (surement quelque chose de simple mais que je ne vois pas présentement)

Merci
Alain

par Truc » 12 févr. 2007, 20:31

des parenthèses en trop dans la requête ?

J'en perd mon latin

par damours111 » 12 févr. 2007, 20:28

Suite aux réponses de ouckileou, j'ai fait plusieurs recherche et j'ai même d'ésinstaller wamps pour remettre l'ancienne version. RIEN!! Même problème.

J'ai donc d'ésinstaller explorer 7 pour remettre le 6 (on sait jamais).
TOUJOURS RIEN!!

Bon pas de panique. Je vais prendre un autre progamme qui fonctionne ok sur mon portable (comme l'autre) qui a la même version de php et de explorer. La aussi, cela ne fonctionne pas.

Par contre, j'obtiens un message d'erreur.
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Chaumierepour4pattes\base\photos_chats.php on line 60
Photo no. 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 
Voici le code qui génère ce message
<span class="style2"><font face="Arial"><a href="miniatures_chats.php">◄Retour</a></font></span>
<?php 
// conexxion à la base de données
include_once("connexion.php"); 

// identifiant


// création de la requête
$sql = "SELECT id_chats, descriptif, etat, nom, numero_photo,  photo FROM chats WHERE (id_chats = $id_chats)" ;

// Exécution de la requête SQL
$resultat = mysql_query($sql ) ;


// Récupération des valeurs
$row = mysql_fetch_assoc( $resultat);
$id_chiens=$row['id_chats'];
$numero_photo= $row['numero_photo'];
$nom= $row['nom'];
$descriptif= $row['descriptif'];
$etat= $row['etat'];
$photo= $row['photo'];

// Affichage

echo " Photo no. $numero_photo" ;
echo " <center><h1>$nom</h1><center>";
echo "$descriptif          $etat <br>";
echo "<img src = $photo>";
echo mysql_error() ;
?>
Allors, si quelqu'un comprend, j'aimerais avoir une idée de ce qui ce passe.

Merci encore
Alain
p.s. Si ces renseigments peuvent être utile:

Configuration Serveur
Version de Apache:Apache/2.0.55 (Win32)
Version de PHP:5.1.2
Extensions chargées:
bcmath, calendar, com_dotnet, ctype, date, ftp, iconv, odbc, pcre, Reflection, session, libxml, standard, tokenizer, zlib, SimpleXML, dom, SPL, wddx, xml, xmlreader, xmlwriter, apache2handler, mbstring, mysql, mysqli, PDO, pdo_sqlite, SQLite

Version de MySQL:5.0.18-nt

C'est la même configuration sur les deux ordinateurs.

par ouckileou » 12 févr. 2007, 00:49

En fait ce qu'il faudrait savoir, c'est si tu as changé de version de PHP. phpMyAdmin n'est qu'une interface pour MySQL qui n'a donc aucun impact ici.

Si tu est passé de PHP 4 à 5, tu peux jeter un coup d'oeil ici :
Incompatibilités avec les version antérieures

Fais aussi afficher toutes les erreurs et alertes PHP : error_reporting()

Avec Wamp 5, tu peux switcher vers PHP 4, est-ce que ça marche si tu fais ça ?

par Invité » 11 févr. 2007, 23:15

Je n'obtiens justement aucun message d'erreur. Tout est ok avec l'ancinne version mais le passe à l'autre version amène une page vide comme résultat.
revoic le code
 
<?php
  echo "<a href= ../RAPAQ/accueil.php><h2> Accueil </h2></p></a>";
// connection &agrave; la base de donn&eacute;es
include("../base/connexion.php"); 

// Cr&eacute;ation de la requ&ecirc;te SQL
$sql = "SELECT id_membre , sigle,  region  FROM membres ORDER BY sigle   ";

// Ex&eacute;cution de la requ&ecirc;te SQL
$resultat = mysql_query($sql ) or die (mysql_error());
 

// Boucle sur les enregistrements
while ($row = mysql_fetch_assoc($resultat)) {
	$id_membre= $row['id_membre'];
	$sigle = $row['sigle'] ;
	$region = $row['region'] ;
	
// Affichage

echo  "<a href=associations.php?id_membre=$id_membre><h2>$sigle $region</h2></p></a>";
//echo  "<h2> </h2></p>";

echo mysql_error() ;
}

?>
Autre indice: la page qui devrait s'afficher contient un tableau avec des données provenant de la base. Si je rajoute un id_membre = 0, j'obtiens les rensiegnements.

Merci Alain

par ouckileou » 11 févr. 2007, 23:00

Salut,

utilise les balises
 plutôt que [code] pour présenter ton code.

Pour savoir ce qui se passe, lis ce sujet déjà : [url=http://www.phpfrance.com/forums/voir_sujet-19378.php]PHP+SQL : Etapes à suivre pour résoudre les problèmes[/url]

Wamp 5 Version 1.6.6

par damours111 » 11 févr. 2007, 22:57

Bonjour,

Quelqu'un peut me dire pourquoi que depuis que j'ai passer de phpMyadmin 2.7.0 à 2.9.0.3 ma requête suivante ne fonctionne plus

Code : Tout sélectionner

<?php echo "<a href= ../RAPAQ/accueil.php><h2> Accueil </h2></p></a>"; // connection &agrave; la base de donn&eacute;es include("../base/connexion.php"); // Cr&eacute;ation de la requ&ecirc;te SQL $sql = "SELECT id_membre , sigle, region FROM membres ORDER BY sigle "; // Ex&eacute;cution de la requ&ecirc;te SQL $resultat = mysql_query($sql ) ; // Boucle sur les enregistrements while ($row = mysql_fetch_assoc($resultat)) { $id_membre= $row['id_membre']; $sigle = $row['sigle'] ; $region = $row['region'] ; // Affichage echo "<a href=associations.php?id_membre=$id_membre><h2>$sigle $region</h2></p></a>"; //echo "<h2> </h2></p>"; echo mysql_error() ; } ?>
Je n'obtiens rien à ma recherche. Pourtant tout fonctionne ok sur l'ancienne version.

Merci de l'aide

Alain