IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Erreure sur Script PHP pour générer des citations aléatoires


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Points : 761
    Points
    761
    Par défaut Erreure sur Script PHP pour générer des citations aléatoires
    Bonjour à tous,
    je me suis fixé depuis quelques temps d'inclure un scrit php pour générer des citations aléatoirement

    Le soucis est lors de l'execution de se dit script j'ai un erreur me disant que mon fichier texte source est inexistant.... hors il est bien présent !

    Un fois se code présent, j'inclus avec un php includ se même script dans mes pages

    Si quelqu'un peut m'indiquer une poste je l'en remercie.

    PS: le File exists à été rajouté après pour éviter les messages d'erreurs

    Cordialement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    if(file_exists('quotes.txt')) 
    {
    $fichier = file('quotes.txt'); // Nom du fichier qui contient les citations
     
    $total = count($fichier); // Total du nombre de lignes du fichier
     
    $i = mt_rand(0, $total); // Nombre au hasard entre 0 et le total du nombre de lignes
     
    echo $fichier[$i]; // On affiche une citation au hasard
    }
    ?>

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Points
    231
    Par défaut
    Bonjour,

    Le chemin d'accès au fichier est-il correct ?
    Les droits sur le fichier sont-ils correct ?

    Peut-on avoir le texte de l'erreur ?

  3. #3
    Membre éclairé Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Points : 761
    Points
    761
    Par défaut
    Bonjour, je précise que le script fonctionne parfaitement en local.

    Warning: file(quotes.txt) [function.file]: failed to open stream: No such file or directory
    Quel droit faut il appliquer ? Je suis en 604 sur mon fichier PHP ou s'execute le script

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Points
    231
    Par défaut
    Ce n'est pas une question de droits, le fichier n'est pas trouvé... et j'avoue que c'était assez peu probable puiqu'il ne s'agissait que de lecture. (En tout cas il s'agissait des droits du fichier txt pas du script php).

    Il faudrait vérifier :
    - la disponibilité du fichier txt sur le serveur,
    - son emplacement par rapport au script php,
    - les inclusions de fichiers éventuelles pour arriver à ce script. En effet la fonction allow_url_include doit être sur on (se vérifie avec la fonction php_info() ).

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Bonjour,

    essayes de voir avec dirname(__FILE__) pour le chemin vers le fichier en question

    http://fr2.php.net/manual/fr/function.dirname.php
    Le savoir est utile que s'il est partagé par tous.
    /(bb|[^b]{2})/
    !sleep() ? array((string))

  6. #6
    Membre éclairé Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Points : 761
    Points
    761
    Par défaut
    Le fichier texte en question se trouve dans le même dossier que mon fichier php ! Je ne vois pas comment il pourrai m'indiquer une erreur ... de plus avec le même emplacement ce même code fonctionne en local

  7. #7
    Membre éclairé Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Points : 761
    Points
    761
    Par défaut
    N'arrivant pas à trouver la solution à mon problème j'ai opté pour une solution pour "clair" avec du SQL malheureusement j'ai un soucis avec comme erreur.

    Fatal error: Call to a member function fetch() on a non-object in
    Si quelqu'un peut m'éclairer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=citations', 'root', '');
    }
    catch (Exception $e)
    {
            die('Erreur : ' . $e->getMessage());
    }
    // Si pas d'erreur je continu
     
    // je recupere le contenue des tables
    $reponse = $bdd->query('SELECT * FROM citatable LIMIT 1 ORDER BY RAND() LIMIT 1');
     
    // j'affiche le resultat
    while ($donnees != $reponse->fetch())
    {
    ?>
    <strong>Auteur</strong> : <?php echo $donnees['author']; ?><br />
    <strong>Citation</strong> : <?php echo $donnees['content']; ?><br /><br />
    <?php
    }
     
    $reponse->closeCursor(); 
     
    ?>

  8. #8
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM citatable LIMIT 1 ORDER BY RAND() LIMIT 1
    c'est pas un peu trop limite ?
    Le savoir est utile que s'il est partagé par tous.
    /(bb|[^b]{2})/
    !sleep() ? array((string))

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Points
    231
    Par défaut
    J'essaierai plutôt comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $req = $bdd -> query('SELECT * FROM citatable ORDER BY RAND() LIMIT 0,1') ;
    $res = $req -> fetchAll( PDO::FETCH_ASSOC ) ;
    $data = $res[0];
    ?>
    <strong>Auteur</strong> : <?php echo $data['author']; ?><br />
    <strong>Citation</strong> : <?php echo $data['content']; ?><br /><br />
    <?php

  10. #10
    Membre éclairé Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Points : 761
    Points
    761
    Par défaut
    Non justement je souhaite 1 seule citation aléatoire

  11. #11
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    ba tu en as qu'une puisque c'est une limit 0,1
    Le savoir est utile que s'il est partagé par tous.
    /(bb|[^b]{2})/
    !sleep() ? array((string))

  12. #12
    Membre éclairé Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Points : 761
    Points
    761
    Par défaut
    Je te remercie beaucoup albedo0 c'est complet !

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Points
    231
    Par défaut
    Tant mieux !

    Pense juste à signaler le sujet comme résolu !

  14. #14
    Membre éclairé Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Points : 761
    Points
    761
    Par défaut
    J'ai un soucis avec les includes et j'ai également se message d'erreur

    Parse error: syntax error, unexpected '{' in /homez.330/laintime/www/wp-content/themes/true-elegance/header.php on line 128
    je voudrai faire ceci, je ne trouve pas mon erreur.... je précise que le logs contient mes identifiants de connexion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php include ("logs.php");
    $req = $bdd -> query('SELECT * FROM citatable ORDER BY RAND() LIMIT 0,1') ;
    $res = $req -> fetchAll( PDO::FETCH_ASSOC ) ;
    $data = $res[0];
    ?>
    <strong>Auteur</strong> : <?php echo $data['author']; ?><br />
    <strong>Citation</strong> : <?php echo $data['content']; ?><br /><br />

  15. #15
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    il doit te manquer une accolade quelque part

    utilise un ide avec coloration syntaxique ça va t'aider
    Le savoir est utile que s'il est partagé par tous.
    /(bb|[^b]{2})/
    !sleep() ? array((string))

  16. #16
    Membre éclairé Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Points : 761
    Points
    761
    Par défaut
    Après analyse, je n'ai pas de doublon pas d'oublis de fermeture d'accolade....

    si quelqu'un peut m'éclairer sur ce

    Parse error: syntax error, unexpected '{' in /logs.php on line 4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
        try {
        $bdd = new PDO('mysql:host=host;dbname=login', 'login', 'mdp');
    } catch (Exception $e) {
        die('Erreur : ' . $e->getMessage());
    }
    ?>

  17. #17
    Membre éclairé Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Points : 761
    Points
    761
    Par défaut
    Rebonjour, je continu dans mes recherches si quelqu'un peut répondre à une petite question

    Lors de l'execution en local mon script fonctionne parfaitement avec des guillemets en moins !( ici en rouge ) seulement une fois en ligne j'obtiens un message d'erreur je suis donc obligé de le rajouter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $req = $bdd->query('SELECT * FROM citatable ORDER BY RAND() LIMIT 0,1');
    $res = $req->fetchAll('PDO::FETCH_ASSOC');
    $data = $res[0];
    ?>

    Une fois en ligne avec les guillemets rajoutés, ( sans les guillemets j'ai une autre erreure) j'obtiens ceci

    Parse error: syntax error, unexpected '{' in /logs.php on line 4
    En local je n'ai pas cette erreure .....


    Le logs en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
        try {
    $bdd = new PDO('mysql:host=localhost;dbname=citations', 'root', '');
    } catch (Exception $e) {
        die('Erreur : ' . $e->getMessage());
    }
    ?>

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/09/2014, 19h29
  2. Quel Script/Framework pour générer des graphiques ?
    Par snorky94 dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2013, 10h32
  3. [MySQL] Script PHP pour générer un fichier xml
    Par totofe49 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/05/2007, 15h12
  4. Recherche d'un script PHP pour renommer des fichiers en masse
    Par pekka77 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 19/11/2006, 23h43
  5. Algo pour générer des nombres aléatoires
    Par Admin dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 12/06/2006, 09h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo