Je ne trouve pas l'erreur dans mon code php
Résolu
Aka13
Messages postés
153
Date d'inscription
Statut
Membre
Dernière intervention
-
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'aimerais savoir pourquoi mon code ne fonctionne pas correctement
Voici la partie de la base SQL qui fonctionne correctement
La partie qui a mon avis pose problème
Et le résultat du code qui prend bien les pseudos mais pas les identifiants
A mon avis il faut que les fonctions ne fonctionnes pas car il ne sais pas le nom des utilisateurs ou il ne fait pas la fonction pour chaque utilisateur de la liste.
J'aimerais savoir pourquoi mon code ne fonctionne pas correctement
Voici la partie de la base SQL qui fonctionne correctement
<?php $host = 'localhost'; $user = 'monsite'; $pass = 'abcdefg'; $db = 'base_user'; $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); mysql_select_db($db) or die ('Erreur :'.mysql_error()); $select = 'SELECT pseudo FROM profils'; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $total = mysql_num_rows($result);
La partie qui a mon avis pose problème
class utilisateurClass { var $data; var $utilisateur; function utilisateurClass($utilisateur) { $this->utilisateur = $utilisateur; $this->data = file_get_contents("http://monsite.fr/" . $utilisateur); } function identifiant() { $identifiant= explode('<div id="ident">', $this->data); $identifiant = explode('<br/>', $identifiant[1]); $identifiant = trim($identifiant[0]); return "$identifiant"; } } $utilisateur = $row["pseudo"]; $utilisateurPage = new utilisateurClass($utilisateur); $utilisateurIdentifiant = $utilisateurPage->indentifiant();
Et le résultat du code qui prend bien les pseudos mais pas les identifiants
if($total) { while($row = mysql_fetch_array($result)) {echo $row["pseudo"].$identifiant.'<br>'."\n";} } else echo 'Pas de pseudos enregistrées'; mysql_free_result($result); ?>
A mon avis il faut que les fonctions ne fonctionnes pas car il ne sais pas le nom des utilisateurs ou il ne fait pas la fonction pour chaque utilisateur de la liste.
A voir également:
- Je ne trouve pas l'erreur dans mon code php
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Pourquoi ma tv ne trouve pas toutes les chaînes - Guide
Et $identifiant est pris dans le code source a la ligne :
Si je met une fonction
$utilisateur = $_GET['utilisateur'];
et
echo $identifiant;
et que ensuite dans l'url je met ?utilisateur=PSEUDO il me maque bien l'identifiant de PSEUDO donc il n'y a pas d'erreur au niveau du script, sauf qu'il ne veut pas prendre en compte tout les pseudo(utilisateurs) qui sont dans la base des données.
J'ai penser que peut être le script considère :
$utilisateur = $row["pseudo"];
comme
$utilisateur = PSEUDO1 PSEUDO2 PSEUDO3 PSEUDO4...];
Et c'est peut être sa l'erreur car il ne peut plus faire la ligne
As-tu une solution ?
Tu ne déclares pas la variable (qui contient un tableau/array) avant son utilisation.
En tout cas, je ne le vois pas avec le code que tu donnes.
« Si je met une fonction
et que ensuite dans l'url je met ?utilisateur=PSEUDO il me maque bien l'identifiant de PSEUDO donc il n'y a pas d'erreur au niveau du script. »
Ce que tu dis est impossible. Si tu fais « echo $utilisateur », OK, mais la variable $identifiant, elle vient d'où ? Je vois nul part « $identifiant = ».
Les fonctions mysql_fetch_ (array, assoc, object, etc) retournes les résultats un par un. À chaque appel à la fonction, tu obtiens le résultat suivant. Quand il n'y a plus de résultat, alors elle retourne false. C'est pour ça qu'on l'utilise dans une boucle while. La boucle tourne tant qu'il y a des résultats. À chaque fois que la boucle recommence, on assigne à $row le résultat suivant.
Aka13 : 154855
Pseudo2 : 9999
...
Tu comprend un peu mieux le script ?
C'est la variable $utilisateurIdentifiant qu'il faut utiliser (tu as récupérer le pseudo avec $utilisateurPage->indentifiant(); )