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

PHP & Base de données Discussion :

Erreur dans un script php


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2018
    Messages : 19
    Points : 0
    Points
    0
    Par défaut Erreur dans un script php
    Bonjour,

    Voici un script en php / mysql pour générer un gros sitemap -avec un sitemap-index à la clé-, la quasi majorité des urls devant constituer le sitemap étant générées à partir d'une table de ma BDD.
    À l'exécution, j'ai une erreur système :

    syntax error, unexpected end of file, expecting variable (T_VARIABLE) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN)
    Après bien des recherches, l'erreur semble se situer dans l'instruction (ce qui semble d'ailleurs confirmé par la cessation de coloration du script à partir de cette instruction) : fwrite($xml1, $lachaine); (cf. ligne 24 ci-dessous)
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    <?php
    $conn = mysqli_connect('... mes données personnelles de connexion à la BDD...');
    $req = "SELECT nom, prenom, profession, specialite, code_profession, b5, mode_exercice, cp_ville, a3 FROM table WHERE ((cp_ville > ' ') AND (a3 = 'C') AND !((code_profession = '60') AND (b5 = 'S')) OR (code_profession = '86') OR (code_profession = '50') OR (code_profession = '21') OR (code_profession = '28') OR (code_profession = '98'))";
    $resultat = $conn->query("SET NAMES utf8");
    $resultat = $conn->query($req) or die('Erreur SQL !'. $req .'' . $conn->connect_error());
    $num = 0;
    $nb = 1;
    $nbt = 1;
    define ("SITE", "... url de mon site ...");
    $traitement = true;
    if ( file_exists('sitemaps/sitemap-1.xml') ) {
          if( @unlink('sitemaps/sitemap-*') !== true ) {
                $traitement = false;
          }        
    }
    if ($traitement) {
    // préparation du fichier "sitemap-index.xml"
    $xml1 = fopen('sitemaps/sitemap-index.xml',"w");
    $lachaine = "<?xml version='1.0' encoding='UTF-8'?>\n" .
                "<sitemapindex xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>\n" .
                "<sitemap>\n" .
                "<loc>" . SITE . "/sitemaps/sitemap.xml</loc>\n" .
                "</sitemap>\n";
    fwrite($xml1, $lachaine);
    while($arr = mysqli_fetch_array($resultat)) {
    if ($nb == 1) {
    // on crée un nouveau fichier sitemap-x.xml
    $num = $num + 1;
    $fich = 'sitemaps/sitemap-' .$num. '.xml';
    echo "<br />création du fichier $fich ";
    $xml2 = fopen($fich, 'w');
    $lachaine = "<?xml version='1.0' encoding='UTF-8'?>\n" .
                "<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'\n" .
                "        xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'\n" .
                "        xsi:schemaLocation='http://www.sitemaps.org/schemas/sitemap/0.9'\n" .
                "        'http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd'>\n";
    fwrite ($xml2, $lachaine);
    // on complète le fichier sitemap index
    $lachaine = "<sitemap>\n<loc>" . SITE . "/sitemaps/sitemap-" .$num. ".xml</loc>\n</sitemap>\n";
    fwrite($xml1, $lachaine);
    }
    // on complète le fichier sitemap-x.xml
    if ($arr[3] == '') {
    $spec = trim($arr[2]);
    }else{
    $spec = trim($arr[3]);
    }
    // on supprime le code postal devant le nom de ville pour ne conserver que le seul nom de ville
    $ville = trim(substr($arr[7],7));
    $ville2 = strtoupper($ville);
    $pos = strpos($ville2, "CEDEX");
    if ($pos === false) {
    // cette ville n'est pas suivie du Cedex
    $vil = $ville;
    }else{
    // on va supprimer 'CEDEX ...' après le nom de ville
    $ll = strlen($ville) - $pos;
    $vil = substr($ville, -$ll);  
    }
    $prat = trim($arr[1]). '-' .trim($arr[0]);
    $lachaine = "<url>\n<loc>" . SITE . "/" .$spec. "/" .$vil. "/" .$prat. "</loc>\n</url>\n";
    fwrite($xml2, $lachaine);
    $nb = $nb + 1;
    $nbt = $nbt + 1;
     
    if ($nb > 10) {
    // pour les tests (mettre 1000 ensuite dans le if au lieu de 10)
    $lachaine = "</urlset>\n";
    fwrite($xml2, $lachaine);  
    fclose($xml2);
    $nb = 1;  
    }
    // on se contente des 25 premières lignes de la table pour les tests (if à enlever ensuite)
    if ($nbt > 25) break;
    }
    // fin du traitement
    $lachaine = "</urlset>\n";
    fwrite($xml2, $lachaine);  
    fclose($xml2);
    $lachaine = "</sitemapindex>\n";
    fwrite($xml1, $lachaine);
    fclose($xml1);
    }else{
    echo "<br />Les fichiers de travail 'sitemaps/sitemap-*.xml' ne peuvent pas être effacés (traitement impossible) !";
    }
    mysqli_close($conn);
    ?>
    <br /><br /><p>FIN du TRAITEMENT</p>
    <p class="droite"><a href="">Retour à la page d'accueil</a></p>
    Grand merci au cador en php qui me trouvera mon erreur ... en ces jours de fêtes !
    Bon dimanche à tous.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut,

    on dirait un problème de caractère masqué, essaie avec ça :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $site = SITE;
    $xml  = <<<xml
    <?xml version="1.0" encoding="utf-8"?>
    <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <sitemap>
      <loc>{$site}/sitemaps/sitemap.xml</loc>
    </sitemap>
    xml;
    file_put_contents('sitemaps/sitemap-index.xml', $xml);

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2018
    Messages : 19
    Points : 0
    Points
    0
    Par défaut
    Bonjour et merci rawsrc,

    Il semblerait que ta 2ème ligne pose problème. J'ai l'erreur :

    --> 0 - syntax error, unexpected '<<' (T_SL)

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    ah ? quelle version de PHP tu fais tourner ?

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2018
    Messages : 19
    Points : 0
    Points
    0
    Par défaut
    sur serveur d'O2switch, je bénéficie de la version 7.2.25 de Php. Et le paramètre "XML activé (lire et écrire des fichiers xml)" est bien à 'oui'

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Il y a autre chose qui pose problème car la notation heredoc (celle débutant par <<<xml) est un standard, faut aller trifouiller ton hébergement et voir pourquoi ça plante lamentablement.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2018
    Messages : 19
    Points : 0
    Points
    0
    Par défaut
    OK: j'interrogerai demain matin l'équipe d'O2switch. Merci, et bonnes fêtes.

Discussions similaires

  1. Code erreur dans un script PHP d'upload
    Par la_saucisse dans le forum Free
    Réponses: 0
    Dernier message: 10/09/2009, 00h22
  2. [EasyPHP] Erreur introuvable dans le script php
    Par ultrabody dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 14/03/2007, 10h21
  3. [PHP-JS] erreur dans le script php
    Par islem dans le forum Langage
    Réponses: 1
    Dernier message: 04/09/2006, 17h06
  4. [langage]erreur dans mon script
    Par Fabouney dans le forum Langage
    Réponses: 11
    Dernier message: 30/06/2005, 14h58
  5. [Apache] Erreur dans mes scripts CGI
    Par GLDavid dans le forum Apache
    Réponses: 2
    Dernier message: 28/08/2004, 06h14

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