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 :

Ancien script php qui me donne des choses bizarres


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 089
    Points : 1 055
    Points
    1 055
    Par défaut Ancien script php qui me donne des choses bizarres
    Bonjour à toutes et à tous,

    Il y a plus de 10 ans, j'avais écrit des scripts php pour l'installation et administration d'applications.

    Alors qu'à l'époque, ne figurait que ce qui devait être affiché, quand je le lance, aujourd'hui, voilà ce que j'obtiens :

    Nom : Gal_Phot.jpg
Affichages : 173
Taille : 163,5 Ko

    Le script est le suivant :

    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
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    <?
      session_start();
      include 'FctUtils.php';
      PrmSession(); //Fonction récupérant les paramètres du fichier "indexini.txt"
    //  if (isset($_GET['ValidID'])) // Si le bouton "Valider" du formulaire d'identification a été appuyé.
      if (_t($_GET['ValidID'], 'Valider')) // Si le bouton "Valider" du formulaire d'identification a été appuyé.  // Test de non injection SQL
      {                             
    //    $_SESSION['MtPAdm'] = $_GET['MtPAdm'];
        $_SESSION['MtPAdm'] = _tt($_GET['MtPAdm']);  // Test de non injection SQL
    //    $_SESSION['IdAdm'] = $_GET['IdAdm'];
        $_SESSION['IdAdm'] = _tt($_GET['IdAdm']);  // Test de non injection SQL
        $_SESSION['IDMP'] = 1; // on valide le passage au formulaire de la base de données.
      }
    //  if (isset($_GET['ValidBD'])) // Si le bouton "Valider" du formulaire de la base de donnée a été appuyé.
      if (_t($_GET['ValidBD'])) // Si le bouton "Valider" du formulaire de la base de donnée a été appuyé.  // Test de non injection SQL
      { 
    //    $Hote = $_GET['NomHote'];
        $Hote = _tt($_GET['NomHote']);  // Test de non injection SQL
    //    $Base = $_GET['NomBaseD'];
        $Base = _tt($_GET['NomBaseD']);  // Test de non injection SQL
        $Titre = $_GET['TitreGal'];
        $IdAdm = $_SESSION['IdAdm'];
        $Pass = Crypte($_SESSION['MtPAdm'], 'organisation');
    //    $Pass = $_SESSION['MtPAdm'];
        $IPAdmin = $_SERVER['REMOTE_ADDR'];
        if (file_exists('indexini.txt'))
        {
          $Info = file('indexini.txt');
          $Info = ModifIni($Info, '[HoteBase]', $Hote);
          $Info = ModifIni($Info, '[NomBase]', $Base);
          $Info = ModifIni($Info, '[Titre]', $Titre);
          $Info = ModifIni($Info, '[IdAdmin]', $IdAdm);
          $Info = ModifIni($Info, '[PassBase]', $Pass);
          $Info = ModifIni($Info, '[IPAdmin]', $IPAdmin);
          $N = count($Info);
          $Inf = '';
          for ($i = 0; $i < $N; $i++)
          { // Transformation du tableau $Info en une chaîne $Inf
            $Inf = $Inf.$Info[$i];
          }
          $Hnd = fopen('indexini.txt', 'w'); // ouverture du fichier d'ini
          fwrite($Hnd, $Inf); // Enregistrement dans le fichier d'ini
          fclose($Hnd); // Fermeture du fichier d'ini
          PrmSession(); //Fonction récupérant les paramètres du fichier "indexini.txt"
          $link = CnxBase();
          $base = $_SESSION['NomBase']; 
          $db = mysql_select_db($base);// Sélection de la base de données
          $tbl = "CREATE TABLE Albums(id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
                                      NomTable VARCHAR(64) UNIQUE,
                                      Titre VARCHAR(64) UNIQUE,
                                      Commentaire TEXT,
                                      Image TEXT,
                                      Lien TEXT,
                                      RepImg TEXT,
                                      RepImgRed TEXT,
                                      PrefixImgRed TEXT,
                                      NbImgs INT UNSIGNED DEFAULT '0',
                                      IdAcces TEXT,
                                      MtPAcces TEXT,
                                      RepSup TEXT,
                                      ClrFond VARCHAR( 7 ) DEFAULT '#660000',
                                      ClrTexte VARCHAR( 7 ) DEFAULT '#FFFFCC',
                                      NoOrdre INT UNSIGNED UNIQUE)";
          mysql_query($tbl, $link); //Création de la table "Albums"
          $tbl = "CREATE TABLE Categories(Id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
                                      Categorie VARCHAR(32) UNIQUE)";
          mysql_query($tbl, $link); //Création de la table "Categories"
          $enrg = "INSERT INTO Categories(Categorie) VALUES('Divers')"; 
          $Result = mysql_query($enrg, $link); // Enregistrement de la ligne "Divers"
          $enrg = "INSERT INTO Categories(Categorie) VALUES('Personnages')"; 
          $Result = mysql_query($enrg, $link); // Enregistrement de la ligne "Personnages"
          $enrg = "INSERT INTO Categories(Categorie) VALUES('Paysages')"; 
          $Result = mysql_query($enrg, $link); // Enregistrement de la ligne "Paysages"
          $enrg = "INSERT INTO Categories(Categorie) VALUES('Architecture')"; 
          $Result = mysql_query($enrg, $link); // Enregistrement de la ligne "Architecture"
          $enrg = "INSERT INTO Categories(Categorie) VALUES('Animaux')"; 
          $Result = mysql_query($enrg, $link); // Enregistrement de la ligne "Animaux"
          $enrg = "INSERT INTO Categories(Categorie) VALUES('Plantes')"; 
          $Result = mysql_query($enrg, $link); // Enregistrement de la ligne "Plantes"
          echo "<script language=\"JavaScript\"> 
                  if(confirm('L\'installation est terminée. Appuyer sur OK pour passer à l\'administration'))
                    document.location.href='Admin.php'
                  else
                    document.location.href='Install.php';
                </script>";
        }  
      }
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <meta content="text/html; charset=ISO-8859-1"  http-equiv="content-type">
        <title>
          Administration
        </title>
      </head>
      <body style="background-color: rgb(204, 204, 204); color: rgb(0, 0, 0);"  alink="#ee0000" link="#0000ee" vlink="#551a8b">
    <script language="JavaScript">
    function Aide(Ancre)
    {
      document.location.href='Aide/AideGlPhot.html#'+Ancre;
    }
    </script>
        <small style="font-family: Verdana;">
          <center>
            <table border="1" cellpadding="0" cellspacing="0">
              <tr>
                <td>
                  <img src="Images/GlPInst.jpg">
                </td>
              </tr>
            </table>
            <br>
            <?
              if (!isset($_SESSION['IDMP']))
              { // Formulaire d'identification
                echo '<form style="width: 800px;" method="GET" action="Install.php"  name="IdAdmin">';
                  echo '&nbsp;Identifiant : &nbsp;';
                  echo '<input size="32" name="IdAdm">';
                  echo '&nbsp; &nbsp;Mot de passe : &nbsp;';
                  echo '<input maxlength="8" size="10" name="MtPAdm"  type="password">';
                  echo '&nbsp; &nbsp;&nbsp;';
                  echo '<input name="ValidID" value="Valider" type="submit">';
                  echo '&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<input onclick="Aide(\'Inst\')" value="Aide" type="button">';
                echo "</form>";
              }
              else
              { // Formulaire d'installation des Galeries
                echo '<br><br><table border="1" cellpadding="0" cellspacing="0"><tr><td>';
                echo '<form style="width: 540px;" method="GET" action="Install.php" name="GalInstall">';
                  echo '<br><center><table style="width: 520px;" border="0" cellpadding="5" cellspacing="0">';
                  echo '<tr>';
                    echo '<td><small>Nom de l\'hôte de la base de donnée : </small></td>';
                    echo "<td><input size=\"32\" name=\"NomHote\" value=\"".$_SESSION['HoteBase']."\"></td>";
                  echo '</tr>';
                  echo '<tr>';
                    echo '<td><small>Nom de de la base de donnée : </small></td>';
                    echo "<td><input size=\"32\" name=\"NomBaseD\" value=\"".$_SESSION['NomBase']."\"></td>";
                  echo '</tr>';
                  echo '<tr>';
                    echo '<td><small>Titre principal de la galerie : </small></td>';
                    echo "<td><input size=\"32\" name=\"TitreGal\" value=\"".$_SESSION['TitrePrinc']."\"></td>";
                  echo '</tr>';
                  echo '</table></center>';
                  echo '<br><center><table border="0" cellpadding="0" cellspacing="0">';
                  echo '<tr><td>';
                  echo '<input name="ValidBD" value="Valider" type="submit">';
                  echo '&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<input onclick="Aide(\'Inst\')" value="Aide" type="button">';
                  echo '</td></tr></table></center>';
                echo '</form>';
                echo '</td></tr></table>';
              }
            ?>
          </center>
        </small>
      </body>
    </html>
    Est-ce un problème de prise en compte de nouvelles normes ? Est-il possible de corriger cela aisément ?

    Merci de votre aide.

    Pierre

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 393
    Points : 15 754
    Points
    15 754
    Par défaut
    cela vient peut-être de la configuration de PHP qui n'accepte pas les balises courtes :
    https://www.php.net/manual/fr/langua...ax.phptags.php

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Autre remarque si tu lances ce script sur un serveur PHP 7, ça va exploser dans tous les sens, car tu utilises l'API mysql (les fonctions mysql_xxxx) qui a été supprimée en PHP 7.0 (obsolète depuis PHP 5.5)
    Vu que c'est une application existante et que tu n'as pas forcément envie de tout réécrire, je te conseille de te tourner vers mysqli (tu peux lire ce thread : Migration de PHP 5.6 à 7.2)

  4. #4
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 089
    Points : 1 055
    Points
    1 055
    Par défaut
    Citation Envoyé par mathieu Voir le message
    cela vient peut-être de la configuration de PHP qui n'accepte pas les balises courtes :
    https://www.php.net/manual/fr/langua...ax.phptags.php
    Oui, c'est vrai, j'avais des balises courtes, je les ai remplacées par <?php et c'est tout bon.

    Cordialement.

    Pierre

  5. #5
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 089
    Points : 1 055
    Points
    1 055
    Par défaut
    Citation Envoyé par Celira Voir le message
    Autre remarque si tu lances ce script sur un serveur PHP 7, ça va exploser dans tous les sens, car tu utilises l'API mysql (les fonctions mysql_xxxx) qui a été supprimée en PHP 7.0 (obsolète depuis PHP 5.5)
    Vu que c'est une application existante et que tu n'as pas forcément envie de tout réécrire, je te conseille de te tourner vers mysqli (tu peux lire ce thread : Migration de PHP 5.6 à 7.2)
    Sur mon vieux PC sous Windows XP et sur mon site Free, ça fonctionne toujours.

    Par contre, sur mon Raspberry Pi 3B+ sur lequel je viens d'installer php 7, ça ne veut plus du tout fonctionner.

    Le passage de mySQL à MySQLi est un vrai travail de fourmis. Je vais vois si cela vaut le coût.

    Merci pour cette information.

    Cordialement.

    Pierre

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 393
    Points : 15 754
    Points
    15 754
    Par défaut
    Citation Envoyé par ChPr Voir le message
    Le passage de mySQL à MySQLi est un vrai travail de fourmis. Je vais vois si cela vaut le coût.
    au lieu de faire cela, ça vous prendra peut-être moins de temps de partir d'applications open-source et de les personnaliser
    par exemple pour un système de galeries :
    https://wordpress.org/plugins/nextgen-gallery/

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    la conversion de mysql_ à mysqli_ n'est pas si compliquée.

    Voici les principales fonctions :
    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
    mysql_affected_rows -> mysqli_affected_rows($link)
     
    mysql_close -> mysqli_close($link)
     
    mysql_data_seek -> mysqli_data_seek($result, $offset)
     
    mysql_errno -> mysqli_errno($link)
     
    mysql_error -> mysqli_error($link)
     
    mysql_fetch_array -> mysqli_fetch_array($result, $type)
     
    mysql_fetch_assoc -> mysqli_fetch_assoc($result)
     
    mysql_fetch_lengths -> mysqli_fetch_lengths($result )
     
    mysql_fetch_object -> mysqli_fetch_object($result, $class, $params)
     
    mysql_fetch_row -> mysqli_fetch_row($result)
     
    mysql_field_seek -> mysqli_field_seek($result, $number)
     
    mysql_free_result -> mysqli_free_result(result)
     
    mysql_get_client_info -> mysqli_get_client_info($link)
     
    mysql_get_host_info -> mysqli_get_host_info($link)
     
    mysql_get_proto_info -> mysqli_get_proto_info($link)
     
    mysql_get_server_info -> mysqli_get_server_info($link)
     
    mysql_info -> mysqli_info($link)
     
    mysql_insert_id -> mysqli_insert_id($link)
     
    mysql_num_rows ->  mysqli_num_rows($result)
     
    mysql_ping -> mysqli_ping($link)
     
    mysql_query -> mysqli_query($link, $query)
     
    mysql_real_escape_string -> mysqli_real_escape_string($link)
     
    mysql_select_db - > mysqli_select_db($link, $database)
     
    mysql_set_charset -> mysqli_set_charset($link, $charset)
     
    mysql_stat -> mysqli_stat($link)
     
    mysql_thread_id -> mysqli_thread_id($link)
    Avec Notepad++ et un peu de rigueur, j'avais converti un site de plusieurs centaines de pages en moins d'une demi-heure (tests compris).
    (par la suite, tous mes autres sites utilisent PDO)

  8. #8
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 089
    Points : 1 055
    Points
    1 055
    Par défaut
    Citation Envoyé par mathieu Voir le message
    au lieu de faire cela, ça vous prendra peut-être moins de temps de partir d'applications open-source et de les personnaliser
    par exemple pour un système de galeries :
    https://wordpress.org/plugins/nextgen-gallery/
    C'est évident, mais si on ne peut plus s'amuser

    Cordialement.

    Pierre

  9. #9
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 089
    Points : 1 055
    Points
    1 055
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    ... Avec Notepad++ et un peu de rigueur, j'avais converti un site de plusieurs centaines de pages en moins d'une demi-heure (tests compris). ...
    C'est ce que j'essaie de faire, mais je tombe sur d'autres problèmes.

    Cordialement.

    Pierre

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/01/2019, 15h35
  2. Réponses: 2
    Dernier message: 09/08/2016, 23h59
  3. Réponses: 5
    Dernier message: 25/08/2013, 13h55
  4. Réponses: 0
    Dernier message: 08/05/2012, 11h11
  5. Réponses: 6
    Dernier message: 16/01/2006, 15h24

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