Page 1 sur 1

php4 > 5 ?

Posté : 18 juin 2010, 14:13
par swool
Bonjour, j'ai un script de requête et de passage de variable à flash qui a toujours bien marché (un bon paquet d'années) mais qui ne veut plus rien savoir sur mon nouvel hébergement, je pense que ça vient du passage de php4 à php5 mais voilà, je ne suis pas du tout programmeur php alors je me tourne vers vous, le regard implorant, les genoux fléchis et les mains jointes :priere:
j'ai un fichier de fonction "01_fonctionscr.php":
function parse($var,$val)
{
  echo "&$var=$val";
}
un fichier d'ouverture de base "01_ouverture.php" :
mysql_connect($dbhost,$dblogin,$dbpass) or die("Impossible de se connecter");
un fichier de paramétrage "01_param.php" :
$dbhost="***";
$dbname="***";
$dblogin="***";
$dbpass="***";

un fichier de fermeture "01_fermeture.php":
mysql_close();
et mon fichier principal "authentification.php" :
require('01_fonctionscr.php');
require('01_param.php');
require('01_ouverture.php');

$query="SELECT id,identifiant,mot_de_passe,nom_prenom FROM collaborateurs WHERE identifiant='$identifiant'";
$result=mysql($dbname,$query);
$combien=mysql_num_rows($result);

if ($combien==0) {
	
	parse("done",2);
	
} else {

    $val = mysql_fetch_array($result);
    $nbrchamps=mysql_num_fields($result);

    for ($i = 1; $i < $nbrchamps; $i++)
    {
        $nomchamp=mysql_field_name($result,$i);
        $valeurchamp=$val["$i"];
        parse("$nomchamp",stripslashes($valeurchamp));    
    }

    parse("done",1);
}

require('01_fermeture.php');
J'ai regardé quand même avant de poster et il semblerait que le "&" dans la fonction ne soit plus nécessaire, j'ai essayé de l'enlever mais ça ne suffit pas.
ce script fonctionne bien sur un autre hébergement en php4, les variables reviennent bien à flash et je peux les traiter.
merci de votre aide, je suis sûr que ce n'est pas grand-chose mais ça dépasse mes compétences de graphiste :oops:

Re: php4 > 5 ?

Posté : 18 juin 2010, 15:10
par stopher
Salut ,
$query="SELECT id,identifiant,mot_de_passe,nom_prenom FROM collaborateurs WHERE identifiant='$identifiant'";
$result=mysql($dbname,$query);
$combien=mysql_num_rows($result);
Pour executer la requete , c'est plutot mysql_query
$result = mysql_query($query);
Ch.

Re: php4 > 5 ?

Posté : 18 juin 2010, 15:29
par swool
Merci Stopher de ta réponse
J'ai essayé mais ça ne fonctionne pas, si on fait ça, a quel endroit on indique le nom de la base ?
J'ai vu ce tuto, ça pourrait pas provenir plutôt de la syntaxe du passage des objets (copie/référence) ?
http://www.apprendre-php.com/tutoriels/ ... php-5.html

Re: php4 > 5 ?

Posté : 18 juin 2010, 15:29
par stealth35
met ton niveau d'erreur en E_ALL | E_STRICT :wink:

Re: php4 > 5 ?

Posté : 18 juin 2010, 16:00
par swool
Argh, je vais regarder ce que ça veut dire :P
sinon, pour illustrer le truc, j'ai un site qui tourne en php4 et un en php5, j'ai mis exactement les même fichier (sauf les paramètres de connexion à la base) et la même table en base.
test avec identifiant "ADMIN" (le mot de passe viendra après)
http://www.autopolis.fr/autopolis_php4/
ça fonctionne j'envoie et récupère les variables
et
http://www.z-red.com/zred_php5/
il me renvoie une erreur car il n'a pas reconnu la variable que je lui ai envoyé de flash
il faut peut-être que je la déclare ?

Re: php4 > 5 ?

Posté : 18 juin 2010, 16:07
par swool
ok j'ai pigé, j'ai rajouté
$identifiant= $_POST['identifiant'];
avant
$query="SELECT id,identifiant,mot_de_passe,nom_prenom FROM collaborateurs WHERE identifiant='$identifiant'";
et ça fonctionne