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 :

Accents et version php


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    Par défaut Accents et version php
    (désolé, mais je ne sais pas vraiment dans quel sous-forum je dois poster...)

    Bonjour,

    L'année dernière, un développeur a fait des modifications importantes sur mon site, et il en a notamment changé la version PHP. Ceci a généré momentanément des problèmes d'encodage de caractères, problèmes qui ont été résolus tout de suite. Mais un fichier (que je n'utilisais pas à l'époque) est passé au travers et a un problème d'encodage que je n'arrive pas à résoudre.
    J'ai tenté de contacter le développeur, il ne répond plus. Je suis donc dans la panade... si quelqu'un pouvait me filer un coup de main.

    Dans ce fichier problématique, je trouve pourtant la même ligne pour l'encodage que celle des autres fichiers qui, eux, affichent tout correctement. C'est pour cela que je ne comprends pas...
    à savoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    Ce fichier contient un petit moteur de recherche et affiche les résultats de la recherche.
    Je pensais que le problème pouvait venir de la db... mais la page en ligne présentant les articles contenus dans cette db n'a aucun problème, tout s'affiche correctement. J'en déduis donc que la problème est sur le fichier lui-même. Mais comment le trouver ?
    Merci par avance de votre aide !

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

    Tout ce que tu montres, c'est que l'encodage est, à priori, iso-8859-1.


    1- Quelle est la version de PHP ?

    2- as-tu une page en ligne à montrer ?

    3- As-tu un bout de code PHP (en début de fichier), susceptible de montrer l'encodage, dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php 
    	header('Content-type:text/html; charset=iso-8859-1');	// encodage iso-8859-1
    4- Quant à la BDD, comment est-elle encodée ?
    Quel encodage est défini lors de la connexion ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    Merci de me répondre !
    La version, c'est 7.0

  4. #4
    Invité
    Invité(e)
    Par défaut
    Infos insuffisantes.


    [EDIT] Je suis allé sur le site...
    Il est très ancien, et largement obsolète (mise en page avec des <table>, pas responsive, encodage ISO au lieu d'UTF-8,...).

    Il faudrait penser à une refonte complète (et "moderne"), plutôt qu'à essayer de recoller les morceaux qui s'écroulent...


    ...L'année dernière, un développeur a fait des modifications importantes sur mon site...
    Quelles genres de modifications ??
    Dernière modification par Invité ; 10/11/2018 à 10h42.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    Par défaut
    Oui oui, je sais bien que le site est limite, mais je l'arrête dans un an (retraite) et vais le donner à quelqu'un qui va le refaire entièrement.
    Je ne cherche pas à recoller les morceaux, mais à utiliser une page pour préparer ma vie après ce site...
    Le développeur a refait l'essentiel de la partie locations.

    Pour revenir à mon problème, je ne comprends pas "infos insuffisantes"... Pour la version php, j'ai trouvé ça dans ovhconfig :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    app.engine=php
    app.engine.version=7.0
    http.firewall=none
    environment=development
    Quelles autres infos veux-tu ?

    Pour l'authentification, je suis désolée, je ne comprends pas, je ne sais pas comment l'enlever, je t'envoie ça en mp.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bon.

    D'après ce qu'on voit, à priori le problème ne vient pas de la BDD, puisqu'on constate déjà des problèmes d'affichage des caractères.
    ...l'orthographe des noms propres étant tr�s variable...
    Il peut s'agir simplement de l'encodage de la page elle-même.

    Ouvre-la avec un éditeur comme Notepad++.
    • Dans les onglets (en haut), choisir "Encodage"
    • -> "Convertir en ANSI".

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    Par défaut
    C'est fait, je l'ai remise en ligne, le problème reste le même.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    Par défaut
    D'après ce qu'on voit, à priori le problème ne vient pas de la BDD, puisqu'on constate déjà des problèmes d'affichage des caractères.
    ...l'orthographe des noms propres étant tr�s variable...
    Non, ce n'était pas un problème d'affichage, j'ai rectifié.
    Le problème est visible dans les selects, et dans les résultats.

    J'ai dépouillé au maximum la page pour qu'il soit plus facile de regarder ce qu'il en est...
    La personne qui m'a fait ce script l'avait commenté.
    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
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    <?php require_once('../../Connections/connnp.php'); ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($connnp, $theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      }
     
      $theValue = function_exists("mysqli_real_escape_string") ? mysqli_real_escape_string($connnp, $theValue) : mysqli_escape_string($connnp,$theValue);
     
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    }
     
    $currentPage = $_SERVER["PHP_SELF"];
     
     
     
    $colname_Recordset2 = "-1";
    if (isset($_POST['mots_cles'])) {
      $colname_Recordset2 = $_POST['mots_cles'];
    }
    mysqli_select_db($connnp,$database_connnp);
    $query_Recordset2 = sprintf("SELECT * FROM histoire WHERE mots_cles = %s", GetSQLValueString($connnp,$colname_Recordset2, "text"));
    $Recordset2 = mysqli_query($connnp, $query_Recordset2) or die(mysqli_error());
    $row_Recordset2 = mysqli_fetch_assoc($Recordset2);
    $totalRows_Recordset2 = mysqli_num_rows($Recordset2);
     
     
    // On recupere ce qui a ete saisi
    $sql="";
    if(isset($_POST['annee1'])){$annee1=$_POST['annee1'];}else{$annee1=9999;}
    if(isset($_POST['annee2'])){$annee2=$_POST['annee2'];}else{$annee2=0;}
    if(isset($_POST['titre'])){$titre= mysqli_real_escape_string($connnp,$_POST['titre']);}else{$titre="";}
    if(isset($_POST['nom1'])){$nom1=$_POST['nom1'];}else{$nom1="";}
    if(isset($_POST['nom2'])){$nom2=$_POST['nom2'];}else{$nom2="";}
    if(isset($_POST['nom3'])){$nom3=$_POST['nom3'];}else{$nom3="";}
    if(isset($_POST['recherche1'])){$rech1=$_POST['recherche1'];}else{$rech1="";}
    if(isset($_POST['etou'])){$etou=$_POST['etou'];}else{$etou="AND";}
    if(isset($_POST['recherche2'])){$rech2=$_POST['recherche2'];}else{$rech2="";}
    if(($rech1=='')&&($rech2!='')){$rech1=$rech2;$rech2='';}
    if(isset($_POST['ok'])){ // on prepare la requete
    	$sql="select * from histoire where (annee_even>=".$annee1." AND annee_even<=".$annee2.") ";
    	if($titre!=''){$sql.=" AND (titre = '".$titre."')";}
    	if($nom1!=''){$sql.=" AND (mots_cles = '".$nom1."' OR  mots_cles2 = '".$nom1."' OR mots_cles3 = '".$nom1."' OR mots_cles4 = '".$nom1."' OR mots_cles5 = '".$nom1."' OR mots_cles6 = '".$nom1."' OR mots_cles7 = '".$nom1."' OR mots_cles8 = '".$nom1."' OR mots_cles9 = '".$nom1."')";}
    	if($nom2!=''){$sql.=" AND (mots_cles = '".$nom2."' OR  mots_cles2 = '".$nom2."' OR mots_cles3 = '".$nom2."' OR mots_cles4 = '".$nom2."' OR mots_cles5 = '".$nom2."' OR mots_cles6 = '".$nom2."' OR mots_cles7 = '".$nom2."' OR mots_cles8 = '".$nom2."' OR mots_cles9 = '".$nom2."')";}
    	if($nom3!=''){$sql.=" AND (mots_cles = '".$nom3."' OR  mots_cles2 = '".$nom3."' OR mots_cles3 = '".$nom3."' OR mots_cles4 = '".$nom3."' OR mots_cles5 = '".$nom3."' OR mots_cles6 = '".$nom."' OR mots_cles7 = '".$nom3."' OR mots_cles8 = '".$nom3."' OR mots_cles9 = '".$nom."')";}
    	if($rech1!=''){
    		$sql.=" AND ((script LIKE '%".$rech1."%' OR script2 LIKE '%".$rech1."%' OR script3 LIKE '%".$rech1."%' OR pied LIKE '%".$rech1."%' OR chapeau LIKE '%".$rech1."%')";
    		if($rech2!=''){
    			$sql.=" ".$_POST['etou']." ";
    			$sql.="(script LIKE '%".$rech2."%' OR script2 LIKE '%".$rech2."%' OR script3 LIKE '%".$rech2."%' OR pied LIKE '%".$rech2."%' OR chapeau LIKE '%".$rech2."%'))";
    		}else{
    			$sql.=") ";
    		}
    	}
    	$sql=$sql." ORDER BY annee_even ASC, mois_even ASC, jour_even ASC";
    	// encadrer avec des apostrophes si le champ est de type text, si num?rique, pas besoin
        $DateHeure= date("Y-m-d H:i:s");
    	$sqlhisto="INSERT INTO chercheAV(ID_chercheAV,annee1,annee2,titre,nom1,nom2,nom3,recherche1,etou,recherche2,jour,source) VALUES ('',".$a1.",".$a2.",'".$titre."','".$nom1."','".$nom2."','".$nom3."','".$rech1."','".$etou."','".$rech2."','".$DateHeure."','moi')";
        mysqli_query($connnp, $sqlhisto);
     
    }
    // ajout d'une requete pour avoir l'annee max
    mysqli_select_db($connnp,$database_connnp);
    $query_Recordset7 = "SELECT DISTINCT annee_even FROM histoire WHERE annee_even <= '1945' ORDER BY annee_even ASC ";
    $Recordset7 = mysqli_query($connnp, $query_Recordset7) or die(mysqli_error());
    $row_Recordset7 = mysqli_fetch_assoc($Recordset7);
    $totalRows_Recordset7 = mysqli_num_rows($Recordset7);
    $maxan=1944; // annee la plus grande
     
    mysqli_select_db($connnp,$database_connnp);
    $query_Recordset8 = "SELECT DISTINCT titre FROM histoire WHERE annee_even <= '1945' ORDER BY titre ASC ";
    $Recordset8 = mysqli_query($connnp, $query_Recordset8) or die(mysqli_error());
    $row_Recordset8 = mysqli_fetch_assoc($Recordset8);
    $totalRows_Recordset8 = mysqli_num_rows($Recordset8);
     
    // requete utilisee pour denis recherche avancee + include hist-droite
    mysqli_select_db($connnp,$database_connnp);
    $query_Recordset3 = "SELECT mots_cles AS mots_cles FROM histoire WHERE annee_even <= '1945' 
    UNION SELECT mots_cles2 AS mots_cles FROM histoire WHERE annee_even <= '1945' 
    UNION SELECT mots_cles3 AS mots_cles FROM histoire WHERE annee_even <= '1945' 
    UNION SELECT mots_cles4 AS mots_cles FROM histoire WHERE annee_even <= '1945' 
    UNION SELECT mots_cles5 AS mots_cles FROM histoire WHERE annee_even <= '1945' 
    UNION SELECT mots_cles6 AS mots_cles FROM histoire WHERE annee_even <= '1945'
    UNION SELECT mots_cles7 AS mots_cles FROM histoire WHERE annee_even <= '1945' 
    UNION SELECT mots_cles8 AS mots_cles FROM histoire WHERE annee_even <= '1945' 
    UNION SELECT mots_cles9 AS mots_cles FROM histoire WHERE annee_even <= '1945'
     order by mots_cles ASC";
    $Recordset3 = mysqli_query($connnp, $query_Recordset3) or die(mysqli_error());
    $row_Recordset3 = mysqli_fetch_assoc($Recordset3);
    $totalRows_Recordset3 = mysqli_num_rows($Recordset3);
     
    mysqli_select_db($connnp,$database_connnp);
    $sqlbc="SELECT ID_hist FROM histoire WHERE annee_even <= '1945' ORDER BY annee_even ASC, mois_even ASC, jour_even ASC"; // order by ce que l'on veut";
    $query=mysqli_query($connnp, $sqlbc);
    $lesid=array();
    while($val=mysqli_fetch_array($query)){
    $lesid[]=$val['ID_hist'];
    }
    mysqli_free_result($query);
    //for($i=0;$i<sizeof($lesid);$i++){echo $lesid[$i]."/";} // pour v?rifier
    // r?cup?ration de l'index de la table en cours
    if((isset($_GET['ID_hist']))&&($_GET['ID_hist']!='')){
       $id=$_GET['ID_hist']; // le ID de l'enregistrement ? afficher
    }else{
       $id=$lesid[0]; // on commence au premier
    }
    // o? est-il ?
    $position=-1;
    for($i=0;$i<sizeof($lesid);$i++){if($id==$lesid[$i]){$position=$i;}}
     
     
    mysqli_select_db($connnp,$database_connnp);
    $sql2="SELECT ID_hist FROM histoire WHERE annee_even <= '1945' ORDER BY ID_hist ASC"; // order by ce que l'on veut";
    $query=mysqli_query($connnp, $sql2);
    $orid=array();
    while($val2=mysqli_fetch_array($query)){
    $orid[]=$val2['ID_hist'];
    }
    mysqli_free_result($query);
    //for($i=0;$i<sizeof($lesid);$i++){echo $lesid[$i]."/";} // pour v?rifier
    // r?cup?ration de l'index de la table en cours
    if((isset($_GET['ID_hist']))&&($_GET['ID_hist']!='')){
       $id=$_GET['ID_hist']; // le ID de l'enregistrement ? afficher
    }else{
       $id=$lesid[0]; // on commence au premier
    }
     
     
    if("".@$_GET['recherche']!=''){
    // insertion dans la table
    $DateHeure= date("Y-m-d H:i:s");
    $insertsql = "INSERT INTO cherche (mot,jour, source) VALUES ('".$_GET['recherche']."','".$DateHeure."','histoire')";
    mysqli_query($connnp, $insertsql);
     
    }
     
     echo $v['mois_even']; 
     
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
     
     
    <?php
    function highlight ($chaine,$term) {
    $mot1=strtolower($term);
    $mot2=strtoupper($term);
    $mot3=strtoupper(substr($term,0,1)).strtolower(substr($term,1));
    // puis trois fois
    $chaine=str_replace($mot1,'<span class="highlight">'.$mot1.'</span>',$chaine);
     
    $chaine=str_replace($mot2,'<span class="highlight">'.$mot2.'</span>',$chaine);
     
    $chaine=str_replace($mot3,'<span class="highlight">'.$mot3.'</span>',$chaine);
     
    return ($chaine);
    }
     
    function remetacc($txt){
        $ch=$txt; // on prend la chaine ? traiter
        $lets=array("?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","'","'",chr(34));
        $cods=array("&agrave;","&acirc;","&auml;","&ccedil;","&eacute;","&egrave;","&ecirc;","&euml;","&icirc;","&iuml;","&ocirc;","&ouml;","&ugrave;","&ucirc;","&uuml;","&Eacute;","&acute;","&rsquo;","&quot;");
        for($ind=0;$ind<sizeof($cods);$ind++){ // on boucle
            $ch=str_replace($cods[$ind],$lets[$ind],"".$ch); // on remplace
        }
        return $ch; // on renvoit la chaine transform?e
    }
    //
    // Met sur fond jaune le mot dans la chaine
    //
    function jaune($chaine,$mot){
        $tempo=''; // variables
        $txt=''; // de travail
        $tempo=remetacc($chaine); // on remet les accents
        $result=""; // Le r?sultat sera dedans
        $txt=$mot; // Le mot ? surligner
       if($txt==''){$dm=-1;}else{$dm=strpos($tempo,$txt);}
        while(($tempo!='')&&($dm>=1)){
            $gauche=substr($tempo,0,$dm); // ? gauche du mot
            $droite=substr($tempo,$dm+strlen($txt)); // ? droite du mot
            $lt=strrpos($gauche,'>'); // on cherche > dans gauche
            $gt=strrpos($gauche,'<'); // on cherche < dans gauche
            if($gt<=$lt){ // si < avant > alors c'est bon
                $result=$result.$gauche."".$txt."";
            }else{ // sinon c'est une balise donc pas bon
                $result=$result.$gauche.$txt;
            }
            $tempo=$droite;
            $dm=strpos($tempo,$txt); // au suivant
        }
        if($tempo!=''){$result=$result.$tempo;}
        return $result;
    }
    ?>
     
    <link href="../essai.css" rel="stylesheet" type="text/css" />
    <link href="../carti13/css.css" rel="stylesheet" type="text/css" />
     
    </head>
     
    <body>
    <table>
      <tr>
        <td>
     
          <form id="form1" name="form1" method="post" action="">
            <p>article publi&eacute; entre :
      <select name="annee1" >
        <?php
    do {  
    ?>
        <option value="<?php echo $row_Recordset7['annee_even'];?>"<?php if($a1==$row_Recordset7['annee_even']){echo " selected";}?>><?php echo $row_Recordset7['annee_even']?></option>
        <?php
    } while ($row_Recordset7 = mysqli_fetch_assoc($Recordset7));
      $rows = mysqli_num_rows($Recordset7);
      if($rows > 0) {
          mysqli_data_seek($Recordset7, 0);
    	  $row_Recordset7 = mysqli_fetch_assoc($Recordset7);
      }
    ?>
        </select>
     
              <select name="annee2">
                <?php
    do {  
    ?>
                <option value="<?php echo $row_Recordset7['annee_even'];?>"<?php 
      	if(($a2==$row_Recordset7['annee_even'])||(($row_Recordset7['annee_even']==$maxan)&&($a2==0))){echo " selected";}
      	?>><?php echo $row_Recordset7['annee_even']?></option>
                <?php
    } while ($row_Recordset7 = mysqli_fetch_assoc($Recordset7));
      $rows = mysqli_num_rows($Recordset7);
      if($rows > 0) {
          mysqli_data_seek($Recordset7, 0);
    	  $row_Recordset7 = mysqli_fetch_assoc($Recordset7);
      }
    ?>
                </select>
              </p>
     
            <p>dans :
      <select name="titre" >
        <option value="" selected="selected" <?php if($titre==''){echo " selected";}?>>toutes les sources</option>
        <?php
    do { 
    if(trim($row_Recordset8['titre'])!=''){
    ?>
        <option value="<?php echo $row_Recordset8['titre'];?>"<?php if(stripslashes($titre)==stripslashes($row_Recordset8['titre'])){echo " selected";}?>><?php echo $row_Recordset8['titre']?></option>
        <?php }
    } while ($row_Recordset8 = mysqli_fetch_assoc($Recordset8));
      $rows = mysqli_num_rows($Recordset8);
      if($rows > 0) {
          mysqli_data_seek($Recordset8, 0);
    	  $row_Recordset8 = mysqli_fetch_assoc($Recordset8);
      }
    ?>
        </select>
              </p>
     
            <p >ayant pour sujet :
              <select name="nom1" >
                <option value="" <?php if($nom1==''){echo " selected";}?>> choisissez...</option>
                <?php
    do {  
    if(trim($row_Recordset3['mots_cles'])!=''){
    ?>
                <option value="<?php echo $row_Recordset3['mots_cles'];?>"<?php if(stripslashes($nom1)==stripslashes($row_Recordset3['mots_cles'])){echo " selected";}?>><?php echo $row_Recordset3['mots_cles']?></option>
                <?php }
    } while ($row_Recordset3 = mysqli_fetch_assoc($Recordset3));
      $rows = mysqli_num_rows($Recordset3);
      if($rows > 0) {
          mysqli_data_seek($Recordset3, 0);
    	  $row_Recordset3 = mysqli_fetch_assoc($Recordset3);
      }
    ?>
                </select>
     
      <select name="nom2" >
        <option value="" <?php if($nom2==''){echo " selected";}?>>choisissez...</option>
        <?php
    do { 
    	if(trim($row_Recordset3['mots_cles'])!=''){ 
    ?>
        <option value="<?php echo $row_Recordset3['mots_cles'];?>"<?php if(stripslashes($nom2)==stripslashes($row_Recordset3['mots_cles'])){echo " selected";}?>><?php echo $row_Recordset3['mots_cles']?></option>
        <?php }
    } while ($row_Recordset3 = mysqli_fetch_assoc($Recordset3));
      $rows = mysqli_num_rows($Recordset3);
      if($rows > 0) {
          mysqli_data_seek($Recordset3, 0);
    	  $row_Recordset3 = mysqli_fetch_assoc($Recordset3);
      }
    ?>
        </select> 
     
      <select name="nom3" >
        <option value="" <?php if($nom3==''){echo " selected";}?>>choisissez...</option>
        <?php
    do {  
    	if(trim($row_Recordset3['mots_cles'])!=''){
    ?>
        <option value="<?php echo $row_Recordset3['mots_cles'];?>"<?php if(stripslashes($nom3)==stripslashes($row_Recordset3['mots_cles'])){echo " selected";}?>><?php echo $row_Recordset3['mots_cles']?></option>
        <?php }
    } while ($row_Recordset3 = mysqli_fetch_assoc($Recordset3));
      $rows = mysqli_num_rows($Recordset3);
      if($rows > 0) {
          mysqli_data_seek($Recordset3, 0);
    	  $row_Recordset3 = mysqli_fetch_assoc($Recordset3);
      }
    ?>
      </select>
              </p>
     
            <p >et contenant exactement :
      <input name="recherche1" type="text"  onFocus="javascript:this.value=''" value="<?php echo $rech1;?>" />
     
              <select name="etou" >
                <option value="AND" <?php if($etou=="AND"){echo " selected";}?>>et</option>
                <option value="OR" <?php if($etou=="OR"){echo " selected";}?>>ou</option>
                </select>
     
              <input name="recherche2" type="text"  onFocus="javascript:this.value=''" value="<?php echo $rech2;?>" />
              </p>
     
              <input name="ok" type="submit" />
      </form>
     
      <?php
    if($sql!=''){
     // on execute la requete : par securite, tu enleveras le " or die(mysqli_error())" quand tout sera bon
    ?>
     
       <?php
    $res=mysqli_query($connnp, $sql) or die(mysqli_error($connnp));
     
     // tant qu'il y a des enregistrements
     if(mysqli_num_rows($res)==1){$ss1="";$ont="";}else{$ss1="s";$ont="ent";}
    	if(mysqli_num_rows($res)>0){
    		echo "<strong><i>".mysqli_num_rows($res)."</i></strong> article".$ss1." correspond".$ont." &agrave; vos crit&egrave;res de recherche";
    	}else{
    		echo "Aucun article ne correspond &agrave; vos crit&egrave;res de recherche.";
    	}
    	?>
     
        <?php
    						while($v=mysqli_fetch_array($res)){ 
    		?>
     
        <table>
          <?php do { ?>
          <tr>
                <?php if(!is_null($v['titre'])) { ?>
                <td> 
                  <?php echo $v['mon_titre']; ?>
    			  <?php echo $v['jour_even']; ?>/<?php echo $v['mois_even']; ?>/<?php echo $v['annee_even']; ?>
                <?php } ?>
               <?php echo $v['ID_hist']; ?></td>
                </tr>
      </table>        
     
      <a  title="cliquez pour lire cet article" href="http://www.crozon-bretagne.com/histoire/ok/article.php?ID_hist=<?php echo $v['ID_hist']; ?>" >
     
              <p>
                <?php echo $v['script']; ?> <br />
                <?php echo $v['script2']; ?><br />
                <?php echo $v['script3']; ?>   </p></a>
                <?php echo $v['mots_cles']; ?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <?php echo $v['mots_cles2']; ?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <?php echo $v['mots_cles3']; ?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <?php echo $v['mots_cles4']; ?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <?php echo $v['mots_cles5']; ?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <?php echo $v['mots_cles6']; ?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            </td>
            </tr>
     
          <?php if(!is_null($v['script'])) { ?>
          <?php } ?>
     
          <?php } while ($v = mysqli_fetch_assoc($res)); ?>
          </table>
     
        <?php	
     
    		// et on boucle
    	}
    }
    ?>
     
    </body>
    </html>
     
    <?php
    mysqli_free_result($Recordset7);
    mysqli_free_result($Recordset8);
    mysqli_free_result($Recordset2);
    mysqli_free_result($Recordset3);
    ?>

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

    1- Peut-on voir le code de Connections/connnp.php ?
    (Sans montrer les paramètres confidentiels, évidemment)


    2-
    ..., j'ai rectifié...
    Comment ?

    Si tu es obligée d'écrire les lettres accentuées comme ça "article publi&eacute;", alors ça veut dire que l'encodage de la page n'est pas bon.


    3- peux-tu tester en ajoutant cette ligne au tout début :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php 
    	header('Content-type:text/html; charset=iso-8859-1');	// encodage iso-8859-1

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    Par défaut
    En rajoutant ta ligne, c'est tout bon !!!
    Mais je ne comprends pas pourquoi car je l'ai déjà dans le <head> cette ligne-là...

  11. #11
    Invité
    Invité(e)
    Par défaut
    • L'une est en PHP (et agit AVANT l'affichage)
    • L'autre est en HTML.

    Les 2 sont nécessaires.

    Et tu devrais pouvoir écrire les lettres accentuées "normalement" dans ton code.

    Idem dans connnp.php : il devrait être specifié 'encodage de sortie des données.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    Par défaut
    OK, compris.
    Voilà connnp.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    # FileName="Connection_php_mysql.htm"
    # Type="MYSQL"
    # HTTP="true"
    $hostname_connnp = "XXX";
    $database_connnp = "XXX";
    $username_connnp = "XXX";
    $password_connnp = "XXX";
    $connnp = mysql_pconnect($hostname_connnp, $username_connnp, $password_connnp) or trigger_error(mysql_error(),E_USER_ERROR); 
    ?>
    Donc il faut que j'y rajoute la ligne aussi...

  13. #13
    Invité
    Invité(e)
    Par défaut
    Non, puisque le fichier est inclus.

    Par contre... mysql_pconnect ???
    Ce n'est pas normal !

    Tu utilises ensuite les fonctions mysqli_ !

    Ca devrait être mysqli_connect !

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    Par défaut
    Ça fait partie des oublis quand il y a eu le changement de version, et comme cette connexion ne concerne que des fichiers qui ne sont pas en ligne, je ne m'en étais pas aperçu avant.

    Merci infiniment de ton aide, tu m'as rendu un très très grand service !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème antre ancienne version php/mysql et nouvelle
    Par yannicketolga dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 30/03/2006, 17h06
  2. [EasyPHP] Changer version PHP
    Par anto48_4 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 08/03/2006, 11h13
  3. [EasyPHP] [PHP4-MySQL4]Conflit de version php ou MySQL
    Par kuranes dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 17/11/2005, 12h04
  4. [Wamp] Quelles versions php/mysql/apache XP?
    Par Jean_Benoit dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 27/09/2005, 19h41
  5. [REDHAT] Mise à jour version PHP
    Par elagarde dans le forum RedHat / CentOS / Fedora
    Réponses: 4
    Dernier message: 14/10/2004, 17h14

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