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 :

Passage de PHP5 à PHP7 fichiers ne fonctionnent plus


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : piano
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Par défaut Passage de PHP5 à PHP7 fichiers ne fonctionnent plus
    Bonjour,

    Depuis que mon hébergeur a passé à PHP7 mes fichiers ne fonctionnent plus

    Depuis une semaine j'essaie désespérément de les modifier, j'ai réussi pour les plus simples, mais par exemple pour celui-ci je ne comprends pas ce que je dois changer, une page blanche s'affiche, sans aucun message d'erreur.
    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
     
    <?php error_reporting (E_ALL ^ E_NOTICE); ?>
    <?php include("menu.php");?>
    <link rel="stylesheet" href="menu/dropdown_three.css" type="text/css">
    <link rel="stylesheet" href="style.css" type="text/css">
    <link rel="stylesheet" type="text/css" href="calendrier.css" /> 
    <script language="JavaScript" src="calendrier.js"></script>
     
    <?php
    try {	
    		$liendb = new PDO('mysql:host=localhost;dbname=xxx;charset=utf8', 'xxx', 'xxx');
      		$liendb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);	
    $fajou = "Location ajoutée : ";
    $pajou = "Pas de location ajoutée !";
     
    ?>
     
     
    <div class="centrer">
     
    </div>
    <?php
     
     
    if(!empty($_POST['datearrive']) AND !empty($_POST['datedepart'])AND !empty($_POST['nombre']) AND !empty($_POST['prixlocation']) AND !empty($_POST['caution']) AND !empty($_POST['1erpaiement']) AND !empty($_POST['idnoms'])AND !empty($_POST['date1erpaiement'])AND !empty($_POST['2epaiement'])AND !empty($_POST['date2epaiement'])AND !empty($_POST['3epaiement'])AND !empty($_POST['date3epaiement'])AND !empty($_POST['linge'])AND !empty($_POST['litbaby'])AND !empty($_POST['degatspayes'])AND !empty($_POST['nonpaye'])AND !empty($_POST['remarques'])AND !empty($_POST['restitution']) AND !empty($_POST['datelettre']) AND !empty($_POST['appart']) AND !empty($_POST['envoitarifs']) AND !empty($_POST['envoidescriptif']) AND !empty($_POST['paragraphesup']) AND !empty($_POST['confirmation']) AND !empty($_POST['enfants']) AND !empty($_POST['annul'])) {
     
    	$datearrive = $_POST['datearrive'];
    	$datedepart = $_POST['datedepart'];
    	$nombre = $_POST['nombre'];			
    	$prixlocation = $_POST['prixlocation'];
    	$caution = $_POST['caution'];
    	$unpaiement = $_POST['1erpaiement'];				
    	$idnoms = $_POST['idnoms'];
    	$date1erpaiement = $_POST['date1erpaiement'];
    	$deuxpaiement = $_POST['2epaiement'];	
    	$date2epaiement = $_POST['date2epaiement'];
    	$troispaiement = $_POST['3epaiement'];	
    	$date3epaiement = $_POST['date3epaiement'];				
    	$linge = $_POST['linge'];
    	$litbaby = $_POST['litbaby'];
    	$degatspayes = $_POST['degatspayes'];
    	$nonpaye = $_POST['nonpaye'];
    	$remarques = $_POST['remarques'];		
    	$restitution = $_POST['restitution'];			
    	$datelettre = $_POST['datelettre'];
    	$appart = $_POST['appart'];
    	$envoitarifs = $_POST['envoitarifs'];
    	$envoidescriptif = $_POST['envoidescriptif'];
    	$paragraphesup = $_POST['paragraphesup'];
    	$confirmation = $_POST['confirmation'];
    	$enfants = $_POST['enfants'];
    	$annul = $_POST['annul'];
    	// Ensuite on enregistre
    	$sql = "INSERT INTO dateloca VALUES('', '".$idnoms."', '".$datearrive."', '".$datedepart."', '".$nombre."', '".$prixlocation."', '".$caution."', '".$unpaiement."', '".$date1erpaiement."', '".$deuxpaiement."', '".$date2epaiement."', '".$troispaiement."', '".$date3epaiement."', '".$linge."', '".$litbaby."', '".$degatspayes."', '".$nonpaye."', '".$remarques."', '".$restitution."', '".$datelettre."', '".$appart."', '".$envoitarifs."', '".$envoidescriptif."', '".$paragraphesup."', '".$confirmation."', '".$enfants."', '".$annul."')") or die (mysqli_error());
     
     
    if(!empty($_POST['idnoms']) AND is_numeric($_POST['idnoms'])){
     
     $sql = mysqli_query("SELECT * FROM locataires WHERE reserve ='oui' and idnoms=".mysqli_real_escape_string($_POST['idnoms']));
     if(mysqli_num_rows($req) == 0)
      $detail = 'Aucun nom ne correspond à votre recherche!';
     else{
      $sql = mysqli_fetch_assoc($req);
      $detail = 'ID noms : '.$dat['idnoms'].'<br />Nom : '.$dat['nom'];
     
     }
    }
    else
     $detail = ' ';
     
    $option = '';
    $sql = mysqli_query("SELECT * FROM locataires WHERE reserve ='oui' ORDER BY nom");
    while($dat = mysqli_fetch_assoc($req)){
     $option .= '<option value="'.$dat['idnoms'].'">'.$dat['nom'].'  &nbsp;&nbsp;-&nbsp;&nbsp; '.$dat['prenom'].'  &nbsp;&nbsp;-&nbsp;&nbsp; '.$dat['listenoire'].'</option>';
    }
    if(isset($_POST['idnoms'])){
     $option = str_replace('value="'.$_POST['idnoms'].'"', 'value="'.$_POST['idnoms'].'" selected="selected"', $option);
    }
     
      $liendb->exec($sql);
      echo "New record created successfully";
    } catch(PDOException $e) {
      echo $sql . "<br>" . $e->getMessage();
    }
     
    $liendb = null;	
     
    echo '<form action="ajouterloca.php" method="post">
    <hr />
    
    <br />
    
     <div>
     <label for="idnoms">Liste des locataires (nom, prénom, liste noire) : </label><select name="idnoms">'.$option.'</select> <input type="submit" value="Envoyer" />
     </div><br />
    
     	<div>
    	<label for="datearrive">Date d\'arrivée : </label><input type="text" name="datearrive" label="datearrive" value="" onclick="new calendar(this);" />
    	<label for="datedepart">&nbsp;Date de départ : </label><input type="text" name="datedepart" label="datedepart" value="" onclick="new calendar(this);" />
    	<label for="datelettre">&nbsp;Date de la lettre : </label><input type="text" name="datelettre" label="datelettre" value="" onclick="new calendar(this);" />
    	<label for="nombre">&nbsp;Nombre : </label><input type="text" name="nombre" label="nombre" value="0" />
    	</div><br />
    			
     	<div>
    	<label for="prixlocation">Prix de la location : </label><input type="text" name="prixlocation" label="prixlocation" value="0.00" />
    	<label for="caution">&nbsp;Caution : </label><input type="text" name="caution" label="caution" value="0.00" />
    	<label for="linge">&nbsp;Linge : </label><input type="text" name="linge" label="linge" value="0.00" />
    	<label for="litbaby">&nbsp;Lit bébé : </label><input type="text" name="litbaby" label="litbaby" value="0.00" />
    	<label for="degatspayes">&nbsp;Degats payés : </label><input type="text" name="degatspayes" label="degatspayes" value="0.00" />
    	<label for="nonpaye">&nbsp;Non payé : </label><input type="text" name="nonpaye" label="nonpaye" value="0.00" />
    	</div><br />
    
     	<div>
    	<label for="1erpaiement">1er paiement : </label><input type="text" name="1erpaiement" label="1erpaiement" value="0.00" />
    	<label for="date1erpaiement">&nbsp;Date 1er paiement (annee-mois-jour): </label><input type="text" name="date1erpaiement" value="0000-00-00" />
    	</div>
    	<div>
    	<label for="2epaiement">2e paiement : &nbsp;</label><input type="text" name="2epaiement" label="2epaiement" value="0.00" />
    	<label for="date2epaiement">&nbsp;Date 2e  paiement (annee-mois-jour): &nbsp;</label><input type="text" name="date2epaiement" value="0000-00-00" />
    	</div>
    	<div>
    	<label for="3epaiement">3e paiement : &nbsp;</label><input type="text" name="3epaiement" label="3epaiement" value="0.00" />
    	<label for="date3epaiement">&nbsp;Date 3e  paiement (annee-mois-jour): &nbsp;</label><input type="text" name="date3epaiement" value="0000-00-00" />
    	</div><br />
    
    	<div>
    	<label for="remarques">Remarques : </label><input type="text" name="remarques" label="remarques" value=" " />
    	<label for="paragraphesup">&nbsp;Paragraphe supplémentaire : </label><input type="text" name="paragraphesup" label="paragraphesup" value=" " />
    	<label for="enfants">&nbsp;Enfants : </label><input type="text" name="enfants" label="enfants" value=" " />
    	</div>
    
    <div class="boite1">
    <div class="case">
    <div>
    <p>	Tarifs envoyés?</p>
    	<ul>
    		<li>Oui<input type="radio" name="envoitarifs" value="1" />
    		<li>Non<input type="radio" name="envoitarifs" value="2" />
    	</ul>
    </div>
    </div>
    <div class="case">
    <div>
    <p>	Descriptif envoyé?</p>
    	<ul>
    		<li>Oui<input type="radio" name="envoidescriptif" value="1" />
    		<li>Non<input type="radio" name="envoidescriptif" value="2" />
    	</ul>
    </div>
    </div>
    <div class="case">
    <div>
    <p>	Caution restituée</p>
    	<ul>
    		<li>Oui<input type="radio" name="restitution" value="oui" />
    		<li>Non<input type="radio" name="restitution" value="non" />
    		<li>Pas de caution<input type="radio" name="restitution" value="pas de caution" />
    	</ul>
    </div>
    </div>
    </div>
    <div class="boite1">
    <div class="case">
    <div>
    <p>	Appart</p>
    	<ul>
    		<li>1<input type="radio" name="appart" value="1" />
    		<li>2<input type="radio" name="appart" value="2" />
    	</ul>
    </div>
    </div>
    <div class="case">	
    <div>
    <p>	Confirmation de réservation</p>
    	<ul>
    		<li>Oui<input type="radio" name="confirmation" value="1" />
    		<li>Non<input type="radio" name="confirmation" value="2" />
    	</ul>
    </div>
    </div>
    
    <div class="case">
    <div>
    <p>	Annulé</p>
    	<ul>
    		<li>Oui<input type="radio" name="annul" value="1" />
    		<li>Non<input type="radio" name="annul" value="2" />
    	</ul>
    </div>
    </div>
    
    </div>
    <div class="cleardiv">
    </div>
    </form><div>'.$detail.'</div>';
     
    ?>
     
    <?php
    include("tableau.php");
    ?>

    D'avance un tout grand merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    une page blanche s'affiche, sans aucun message d'erreur.
    Si tu affiches la source de ta page HTML tu as des erreurs ou pas ?
    Si non procède pas à pas : fais une sauvegarde de ton script, dans le script d'origine ne laisse que les premières lignes et vérifie si ça passe, ajoute d'autres blocs d'instructions, etc.

    Fais plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php error_reporting(E_ALL) ?>

  3. #3
    Membre confirmé
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : piano
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Par défaut
    Merci, j'ai essayé de supprimer beaucoup de choses, il n'y a que les boutons qui s'affichent, la liste déroulante contenant les noms ne fonctionne pas, je pense que les SELECT ne fonctionnent pas.
    J'ai essayé ta méthode de remettre les blocs les uns après les autres mais sans résultat, il doit y avoir des instructions PHP5 qui sont incompatibles avec PHP7, mais mes connaissances ne sont malheureusement pas suffisantes pour trouver lesquelles

    Merci d'avance pour votre aide

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Tu as un mix mysqli / PDO : passe tout sur PDO

    Sinon pour le reste ? (erreurs dans la page générée ? error_reporting(E_ALL) ?)

  5. #5
    Membre confirmé
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : piano
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Par défaut
    Merci beaucoup de me mettre sur la piste, mais qu'est-ce que je dois changer ?
    Je me débrouillais tant bien que mal avec l'ancienne version de PHP mais là je patauge et je n'ai pas le choix, je dois mettre mes pages à jour, en effet je pense que c'est mieux de tout passer sur PDO, j'ai un livre (un énorme pavé) et je cherche sur internet mais ce n'est pas évident, c'est pour cela que je demande de l'aide.

    Merci d'avance pour votre aide et votre patience.
    Bon week-end

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Le problème c'est qu'on n'a pas accès à tous tes fichiers, et on ne sait pas quelles modifs ont été faites.

    En tout cas il y a une évolution puisqu'on passe de "une page blanche s'affiche" à "il n'y a que les boutons qui s'affichent, la liste déroulante contenant les noms ne fonctionne pas"

    Montre-nous où tu en es actuellement.

  7. #7
    Membre confirmé
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : piano
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Par défaut
    Voila ou j'en suis, mais plus rien ne s'affiche

    J'ai fait quelques corrections entre les lignes 59 et 90 pour passer à PDO, mais j'ai dû en oublier ou faire des erreurs


    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
     
    <?php error_reporting (E_ALL ^ E_NOTICE); ?>
    <?php include("menu.php");?>
    <link rel="stylesheet" href="menu/dropdown_three.css" type="text/css">
    <link rel="stylesheet" href="style.css" type="text/css">
    <link rel="stylesheet" type="text/css" href="calendrier.css" /> 
    <script language="JavaScript" src="calendrier.js"></script>
     
    <?php
    try {	
    		$liendb = new PDO('mysql:host=localhost;dbname=xxx;charset=utf8', 'xxx', 'xxx');
      		$liendb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);	
    $fajou = "Location ajoutée : ";
    $pajou = "Pas de location ajoutée !";
     
    ?>
     
     
    <div class="centrer">
     
    </div>
    <?php
     
     
    if(!empty($_POST['datearrive']) AND !empty($_POST['datedepart'])AND !empty($_POST['nombre']) AND !empty($_POST['prixlocation']) AND !empty($_POST['caution']) AND !empty($_POST['1erpaiement']) AND !empty($_POST['idnoms'])AND !empty($_POST['date1erpaiement'])AND !empty($_POST['2epaiement'])AND !empty($_POST['date2epaiement'])AND !empty($_POST['3epaiement'])AND !empty($_POST['date3epaiement'])AND !empty($_POST['linge'])AND !empty($_POST['litbaby'])AND !empty($_POST['degatspayes'])AND !empty($_POST['nonpaye'])AND !empty($_POST['remarques'])AND !empty($_POST['restitution']) AND !empty($_POST['datelettre']) AND !empty($_POST['appart']) AND !empty($_POST['envoitarifs']) AND !empty($_POST['envoidescriptif']) AND !empty($_POST['paragraphesup']) AND !empty($_POST['confirmation']) AND !empty($_POST['enfants']) AND !empty($_POST['annul'])) {
     
    	$datearrive = $_POST['datearrive'];
    	$datedepart = $_POST['datedepart'];
    	$nombre = $_POST['nombre'];			
    	$prixlocation = $_POST['prixlocation'];
    	$caution = $_POST['caution'];
    	$unpaiement = $_POST['1erpaiement'];				
    	$idnoms = $_POST['idnoms'];
    	$date1erpaiement = $_POST['date1erpaiement'];
    	$deuxpaiement = $_POST['2epaiement'];	
    	$date2epaiement = $_POST['date2epaiement'];
    	$troispaiement = $_POST['3epaiement'];	
    	$date3epaiement = $_POST['date3epaiement'];				
    	$linge = $_POST['linge'];
    	$litbaby = $_POST['litbaby'];
    	$degatspayes = $_POST['degatspayes'];
    	$nonpaye = $_POST['nonpaye'];
    	$remarques = $_POST['remarques'];		
    	$restitution = $_POST['restitution'];			
    	$datelettre = $_POST['datelettre'];
    	$appart = $_POST['appart'];
    	$envoitarifs = $_POST['envoitarifs'];
    	$envoidescriptif = $_POST['envoidescriptif'];
    	$paragraphesup = $_POST['paragraphesup'];
    	$confirmation = $_POST['confirmation'];
    	$enfants = $_POST['enfants'];
    	$annul = $_POST['annul'];
    	// Ensuite on enregistre
    	$sql = "INSERT INTO dateloca VALUES('', '".$idnoms."', '".$datearrive."', '".$datedepart."', '".$nombre."', '".$prixlocation."', '".$caution."', '".$unpaiement."', '".$date1erpaiement."', '".$deuxpaiement."', '".$date2epaiement."', '".$troispaiement."', '".$date3epaiement."', '".$linge."', '".$litbaby."', '".$degatspayes."', '".$nonpaye."', '".$remarques."', '".$restitution."', '".$datelettre."', '".$appart."', '".$envoitarifs."', '".$envoidescriptif."', '".$paragraphesup."', '".$confirmation."', '".$enfants."', '".$annul."')") or die (mysqli_error());
     
     
    if(!empty($_POST['idnoms']) AND is_numeric($_POST['idnoms'])){
     
     $sql = $liendb->prepare('SELECT * FROM locataires WHERE reserve ="oui" and idnoms='.($_POST['idnoms']));
     
     
     if($sql->rowCount() > 0){
            echo "The record exists!";
        } else {
            echo "The record is non-existant.";
     
    else{
      $sql = PDOStatement->fetch_assoc($req);
      $detail = 'ID noms : '.$dat['idnoms'].'<br />Nom : '.$dat['nom'];
     
     }
     }
    }
    else
     $detail = ' ';
     
    $option = '';
    $sql = $liendb->prepare('SELECT * FROM locataires WHERE reserve ="oui" ORDER BY nom');
    while($dat = PDOStatement->fetch_assoc($req)){
     $option .= '<option value="'.$dat['idnoms'].'">'.$dat['nom'].'  &nbsp;&nbsp;-&nbsp;&nbsp; '.$dat['prenom'].'  &nbsp;&nbsp;-&nbsp;&nbsp; '.$dat['listenoire'].'</option>';
    }
    if(isset($_POST['idnoms'])){
     $option = str_replace('value="'.$_POST['idnoms'].'"', 'value="'.$_POST['idnoms'].'" selected="selected"', $option);
    }
     
      $liendb->exec($sql);
      echo "New record created successfully";
    } catch(PDOException $e) {
      echo $sql . "<br>" . $e->getMessage();
    }
     
    $liendb = null;	
     
    echo '<form action="ajouterloca.php" method="post">
    <hr />
    
    <br />
    
     <div>
     <label for="idnoms">Liste des locataires (nom, prénom, liste noire) : </label>
     <select name="idnoms">'.$option.'</select> <input type="submit" value="Envoyer" />
     </div><br />
    
     	<div>
    	<label for="datearrive">Date d\'arrivée : </label><input type="text" name="datearrive" label="datearrive" value="" onclick="new calendar(this);" />
    	<label for="datedepart">&nbsp;Date de départ : </label><input type="text" name="datedepart" label="datedepart" value="" onclick="new calendar(this);" />
    	<label for="datelettre">&nbsp;Date de la lettre : </label><input type="text" name="datelettre" label="datelettre" value="" onclick="new calendar(this);" />
    	<label for="nombre">&nbsp;Nombre : </label><input type="text" name="nombre" label="nombre" value="0" />
    	</div><br />
    			
     	<div>
    	<label for="prixlocation">Prix de la location : </label><input type="text" name="prixlocation" label="prixlocation" value="0.00" />
    	<label for="caution">&nbsp;Caution : </label><input type="text" name="caution" label="caution" value="0.00" />
    	<label for="linge">&nbsp;Linge : </label><input type="text" name="linge" label="linge" value="0.00" />
    	<label for="litbaby">&nbsp;Lit bébé : </label><input type="text" name="litbaby" label="litbaby" value="0.00" />
    	<label for="degatspayes">&nbsp;Degats payés : </label><input type="text" name="degatspayes" label="degatspayes" value="0.00" />
    	<label for="nonpaye">&nbsp;Non payé : </label><input type="text" name="nonpaye" label="nonpaye" value="0.00" />
    	</div><br />
    
     	<div>
    	<label for="1erpaiement">1er paiement : </label><input type="text" name="1erpaiement" label="1erpaiement" value="0.00" />
    	<label for="date1erpaiement">&nbsp;Date 1er paiement (annee-mois-jour): </label><input type="text" name="date1erpaiement" value="0000-00-00" />
    	</div>
    	<div>
    	<label for="2epaiement">2e paiement : &nbsp;</label><input type="text" name="2epaiement" label="2epaiement" value="0.00" />
    	<label for="date2epaiement">&nbsp;Date 2e  paiement (annee-mois-jour): &nbsp;</label><input type="text" name="date2epaiement" value="0000-00-00" />
    	</div>
    	<div>
    	<label for="3epaiement">3e paiement : &nbsp;</label><input type="text" name="3epaiement" label="3epaiement" value="0.00" />
    	<label for="date3epaiement">&nbsp;Date 3e  paiement (annee-mois-jour): &nbsp;</label><input type="text" name="date3epaiement" value="0000-00-00" />
    	</div><br />
    
    	<div>
    	<label for="remarques">Remarques : </label><input type="text" name="remarques" label="remarques" value=" " />
    	<label for="paragraphesup">&nbsp;Paragraphe supplémentaire : </label><input type="text" name="paragraphesup" label="paragraphesup" value=" " />
    	<label for="enfants">&nbsp;Enfants : </label><input type="text" name="enfants" label="enfants" value=" " />
    	</div>
    
    <div class="boite1">
    <div class="case">
    <div>
    <p>	Tarifs envoyés?</p>
    	<ul>
    		<li>Oui<input type="radio" name="envoitarifs" value="1" />
    		<li>Non<input type="radio" name="envoitarifs" value="2" />
    	</ul>
    </div>
    </div>
    <div class="case">
    <div>
    <p>	Descriptif envoyé?</p>
    	<ul>
    		<li>Oui<input type="radio" name="envoidescriptif" value="1" />
    		<li>Non<input type="radio" name="envoidescriptif" value="2" />
    	</ul>
    </div>
    </div>
    <div class="case">
    <div>
    <p>	Caution restituée</p>
    	<ul>
    		<li>Oui<input type="radio" name="restitution" value="oui" />
    		<li>Non<input type="radio" name="restitution" value="non" />
    		<li>Pas de caution<input type="radio" name="restitution" value="pas de caution" />
    	</ul>
    </div>
    </div>
    </div>
    <div class="boite1">
    <div class="case">
    <div>
    <p>	Appart</p>
    	<ul>
    		<li>1<input type="radio" name="appart" value="1" />
    		<li>2<input type="radio" name="appart" value="2" />
    	</ul>
    </div>
    </div>
    <div class="case">	
    <div>
    <p>	Confirmation de réservation</p>
    	<ul>
    		<li>Oui<input type="radio" name="confirmation" value="1" />
    		<li>Non<input type="radio" name="confirmation" value="2" />
    	</ul>
    </div>
    </div>
    
    <div class="case">
    <div>
    <p>	Annulé</p>
    	<ul>
    		<li>Oui<input type="radio" name="annul" value="1" />
    		<li>Non<input type="radio" name="annul" value="2" />
    	</ul>
    </div>
    </div>
    
    </div>
    <div class="cleardiv">
    </div>
    </form><div>'.$detail.'</div>';
     
    ?>
     
    <?php
    include("tableau.php");
    ?>
    Un tout grand merci pour votre réponse, c'est rassurant de savoir que quelqu'un essaie de m'aider

  8. #8
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php error_reporting (E_ALL ^ E_NOTICE); ?>
    Tu as toujours ceci ⬆️ qui peut te cacher des erreurs => https://www.developpez.net/forums/d2.../#post11611448

    Y'a des trucs bizarres, comme le else ligne 67, il manque une } juste avant et la ligne 54 de ton INSERT qui est mal formatée, la ) est de trop.

    Faut que tu revois ton script entièrement. En l'état il est illisible et dur à corriger car tout est mélangé. Essaie de mettre tous les traitements et préparation des données en début de script, ensuite tu affiches le HTML et les données avec le minimum de traitements.

  9. #9
    Membre confirmé
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : piano
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Par défaut
    Merci pour ta réponse, j'ai fait les modifications et je vais essayer de mettre de l'ordre dans mon code, mais je n'ai pas le courage de tout recommencer à zéro

    Pour info, voici un fichier que j'ai réussi à modifier et qui fonctionne, est-ce que ce code est mieux organisé ?

    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
     
    <?php error_reporting (E_ALL ^ E_NOTICE); ?>
    <?php include("menu.php");?>
    <link rel="stylesheet" href="menu/dropdown_three.css" type="text/css">
    <link rel="stylesheet" href="style.css" type="text/css">
     
    <?php
    if  ($_REQUEST['enregistrer'] == "oui")
    {
     
    try {	
    		$liendb = new PDO('mysql:host=localhost;dbname=xxx;charset=utf8', 'xxx', 'xxx');	
     
    // Check connection
    //Ajouté :	
      $liendb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);	
     
     
      if (empty($_REQUEST['nom']) || empty($_REQUEST['prenom']))
          die("ERREUR : tous les champs doivent être remplis.");
     
      if ($_REQUEST['reserve']!="oui" && 
          $_REQUEST['reserve']!="non") 
          die("ERREUR : choisissez");
      $sql = "INSERT INTO locataires (nom, prenom, nom2, rue, casepostaleourue2, prof, ville, cp, pays, reserve, email1, email2, tel, telprof, fax, natel1, natel2, remarque, idcivil) VALUES (". 
              "'".$_REQUEST['nom']."',".
              "'".$_REQUEST['prenom']."',".
              "'".$_REQUEST['nom2']."',".					
              "'".$_REQUEST['rue']."',".
              "'".$_REQUEST['casepostaleourue2']."',".
              "'".$_REQUEST['prof']."',".					
              "'".$_REQUEST['ville']."',".
              "'".$_REQUEST['codepostal']."',".
              "'".$_REQUEST['pays']."',".
              "'".$_REQUEST['reserve']."',".
              "'".$_REQUEST['email1']."',".
              "'".$_REQUEST['email2']."',".					
              "'".$_REQUEST['tel']."',".
              "'".$_REQUEST['telprof']."',".
              "'".$_REQUEST['fax']."',".
              "'".$_REQUEST['natel1']."',".
              "'".$_REQUEST['natel2']."',".
              "'".$_REQUEST['remarque']."',".																									
              "'".$_REQUEST['idcivil']."')";
     
      $liendb->exec($sql);
      echo "New record created successfully";
    } catch(PDOException $e) {
      echo $sql . "<br>" . $e->getMessage();
    }
     
    $liendb = null;	
     
      header("location:  http://www.chaletmurcie.ch/pages/myba/loca_ins_der.php");
     
    }
     
    echo "<p align=left> :: ajouter une adresse [".$_REQUEST['id']."]</p>";
     
    ?>
    <form method="post" action="loca_ajoute.php">
     
    <input type="hidden" name="enregistrer" value="oui" />
     
     
    <table align="center">
    <tr>
     <td><big>Nom</big></td>
     <td><input type="text" name="nom" /></td>
    </tr>
    <tr>
     <td><big>Prénom</big></td>
     <td><input type="text" name="prenom" /></td>
    </tr>
    <tr>
     <td><big>Nom 2</big></td>
     <td><input type="text" name="nom2" /></td>
    </tr>
    <tr>
     <td><big>Rue</big></td>
     <td><textarea name="rue"></textarea></td>
    </tr>
    <tr>
     <td><big>Case postale ou rue 2</big></td>
     <td><textarea name="casepostaleourue2"><?php echo $locataires['casepostaleourue2']; ?></textarea></td>
    </tr>
    <tr>
     <td><big>Adresse professionnelle</big></td>
     <td><input type="text" name="prof" value="<?php echo $locataires['prof']; ?>" /></td>
    </tr>
    <tr>
     <td><big>Ville</big></td>
     <td><input type="text" name="ville" /></td>
    </tr>
    <tr>
     <td><big>Code postal</big></td>
     <td><input type="text" name="codepostal" /></td>
    </tr>
    <tr>
     <td><big>Pays</big></td>
     <td><input type="text" name="pays" /></td>
    </tr>
    <tr>
     <td><big>Réservé</big></td>
     <td>
      Oui <input type="radio" name="reserve" value="oui" /> - 
      Non <input type="radio" name="reserve" value="non" />
     </td>
    </tr>
     
     
    <tr>
     <td><big>Email 1</big></td>
     <td><input type="text" name="email1" /></td>
    </tr>
    <tr>
     <td><big>Email 2</big></td>
     <td><input type="text" name="email2" /></td>
    </tr>
    <tr>
     <td><big>Téléphone</big></td>
     <td><input type="text" name="tel" /></td>
    </tr>
    <tr>
     <td><big>Téléphone professionnel</big></td>
     <td><input type="text" name="telprof" /></td>
    </tr>
    <tr>
     <td><big>Fax</big></td>
     <td><input type="text" name="fax" value="<?php echo $locataires['fax']; ?>" /></td>
    </tr>
    <tr>
     <td><big>Natel 1</big></td>
     <td><input type="text" name="natel1" value="<?php echo $locataires['natel1']; ?>" /></td>
    </tr>
    <tr>
     <td><big>Natel 2</big></td>
     <td><input type="text" name="natel2" value="<?php echo $locataires['natel2']; ?>" /></td>
    </tr>
    <tr>
     <td><big>Remarque</big></td>
     <td><textarea name="remarque"><?php echo $locataires['remarque']; ?></textarea></td>
    </tr>
    <tr>
     <td><big>Civilités</big></td>
     <td>
       <select name="idcivil">
         <option value="1"> Monsieur </option>
         <option value="2"> Madame </option>
         <option value="3"> Mlle </option>
         <option value="4"> M. et Mme </option>
         <option value="5"> Famille </option>		 		 
       </select>
     </td>
    </tr>
     
    </table>
     
    <br/>
     
    <center><input type="submit" value="enregistrer" /></center>
     
    </form>
    Encore un grand merci et bon dimanche

  10. #10
    Membre confirmé
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : piano
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Par défaut
    Ooops, j'ai oublier de te demander ce qui est mal formaté à la ligne 54, qu'est-ce qui est faux et comment faut-il faire ?

    Merci d'avance pour ton aide

  11. #11
    Membre confirmé
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : piano
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Par défaut
    Voici mon code après modifications, les instructions sont en-haut et le html est en-bas, normalement tous les crochets ouverts sont fermés, mais cela ne fonctionne toujours pas, pourtant il me semble que je suis prêt du but...

    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
    <?php include("menu.php");?>
    <link rel="stylesheet" href="menu/dropdown_three.css" type="text/css">
    <link rel="stylesheet" href="style.css" type="text/css">
    <link rel="stylesheet" type="text/css" href="calendrier.css" /> 
    <script language="JavaScript" src="calendrier.js"></script>
     
    <?php
    try {	
    		$liendb = new PDO('mysql:host=localhost;dbname=xxx;charset=utf8', 'xxx', 'xxx');
      		$liendb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);	
     
    } catch(PDOException $e) {
      echo $sql . "<br>" . $e->getMessage();
    }	
     
    $fajou = "Location ajoutée : ";
    $pajou = "Pas de location ajoutée !";
     
    ?>
     
    <div class="centrer">
    </div>
     
    <?php
    if(!empty($_POST['datearrive']) AND !empty($_POST['datedepart'])AND !empty($_POST['nombre']) AND !empty($_POST['prixlocation']) AND !empty($_POST['caution']) AND !empty($_POST['1erpaiement']) AND !empty($_POST['idnoms'])AND !empty($_POST['date1erpaiement'])AND !empty($_POST['2epaiement'])AND !empty($_POST['date2epaiement'])AND !empty($_POST['3epaiement'])AND !empty($_POST['date3epaiement'])AND !empty($_POST['linge'])AND !empty($_POST['litbaby'])AND !empty($_POST['degatspayes'])AND !empty($_POST['nonpaye'])AND !empty($_POST['remarques'])AND !empty($_POST['restitution']) AND !empty($_POST['datelettre']) AND !empty($_POST['appart']) AND !empty($_POST['envoitarifs']) AND !empty($_POST['envoidescriptif']) AND !empty($_POST['paragraphesup']) AND !empty($_POST['confirmation']) AND !empty($_POST['enfants']) AND !empty($_POST['annul'])) {
     
    	$datearrive = $_POST['datearrive'];
    	$datedepart = $_POST['datedepart'];
    	$nombre = $_POST['nombre'];			
    	$prixlocation = $_POST['prixlocation'];
    	$caution = $_POST['caution'];
    	$unpaiement = $_POST['1erpaiement'];				
    	$idnoms = $_POST['idnoms'];
    	$date1erpaiement = $_POST['date1erpaiement'];
    	$deuxpaiement = $_POST['2epaiement'];	
    	$date2epaiement = $_POST['date2epaiement'];
    	$troispaiement = $_POST['3epaiement'];	
    	$date3epaiement = $_POST['date3epaiement'];				
    	$linge = $_POST['linge'];
    	$litbaby = $_POST['litbaby'];
    	$degatspayes = $_POST['degatspayes'];
    	$nonpaye = $_POST['nonpaye'];
    	$remarques = $_POST['remarques'];		
    	$restitution = $_POST['restitution'];			
    	$datelettre = $_POST['datelettre'];
    	$appart = $_POST['appart'];
    	$envoitarifs = $_POST['envoitarifs'];
    	$envoidescriptif = $_POST['envoidescriptif'];
    	$paragraphesup = $_POST['paragraphesup'];
    	$confirmation = $_POST['confirmation'];
    	$enfants = $_POST['enfants'];
    	$annul = $_POST['annul'];
    	// Ensuite on enregistre
    	$sql = "INSERT INTO dateloca VALUES('', '".$idnoms."', '".$datearrive."', '".$datedepart."', '".$nombre."', '".$prixlocation."', '".$caution."', '".$unpaiement."', '".$date1erpaiement."', '".$deuxpaiement."', '".$date2epaiement."', '".$troispaiement."', '".$date3epaiement."', '".$linge."', '".$litbaby."', '".$degatspayes."', '".$nonpaye."', '".$remarques."', '".$restitution."', '".$datelettre."', '".$appart."', '".$envoitarifs."', '".$envoidescriptif."', '".$paragraphesup."', '".$confirmation."', '".$enfants."', '".$annul."')" or die (mysqli_error());
     
     
    if(!empty($_POST['idnoms']) AND is_numeric($_POST['idnoms'])){
     
     $req = $liendb->prepare('SELECT * FROM locataires WHERE reserve ="oui" and idnoms='.($_POST['idnoms']));
     
     if($req->rowCount() > 0){
            echo "L'enregistement existe";
        } 
    	else {
            echo "L'enregistement n'existe pas";
        }
    	else {
      $dat = PDOStatement->fetch_assoc($req);
      $detail = 'ID noms : '.$dat['idnoms'].'<br />Nom : '.$dat['nom'];
    	}
     }
    }
    else {
    $detail = ' ';
     
    $option = '';
     
    $req = $liendb->prepare('SELECT * FROM locataires WHERE reserve ="oui" ORDER BY nom');
    while($dat = PDOStatement->fetch_assoc($req)){
     $option .= '<option value="'.$dat['idnoms'].'">'.$dat['nom'].'  &nbsp;&nbsp;-&nbsp;&nbsp; '.$dat['prenom'].'  &nbsp;&nbsp;-&nbsp;&nbsp; '.$dat['listenoire'].'</option>';
    }
    if(isset($_POST['idnoms'])){
     $option = str_replace('value="'.$_POST['idnoms'].'"', 'value="'.$_POST['idnoms'].'" selected="selected"', $option);
    }
    }
      $liendb->exec($req);
      echo "New record created successfully";
     
    $liendb = null;	
     
    echo <form action="ajouterloca_new.php" method="post">
    <hr />
     
    <br />
     
     <div>
     <label for="idnoms">Liste des locataires (nom, prénom, liste noire) : </label>
     <select name="idnoms">'.$option.'</select> <input type="submit" value="Envoyer" />
     </div><br />
     
     	<div>
    	<label for="datearrive">Date d\'arrivée : </label><input type="text" name="datearrive" label="datearrive" value="" onclick="new calendar(this);" />
    	<label for="datedepart">&nbsp;Date de départ : </label><input type="text" name="datedepart" label="datedepart" value="" onclick="new calendar(this);" />
    	<label for="datelettre">&nbsp;Date de la lettre : </label><input type="text" name="datelettre" label="datelettre" value="" onclick="new calendar(this);" />
    	<label for="nombre">&nbsp;Nombre : </label><input type="text" name="nombre" label="nombre" value="0" />
    	</div><br />
    			
     	<div>
    	<label for="prixlocation">Prix de la location : </label><input type="text" name="prixlocation" label="prixlocation" value="0.00" />
    	<label for="caution">&nbsp;Caution : </label><input type="text" name="caution" label="caution" value="0.00" />
    	<label for="linge">&nbsp;Linge : </label><input type="text" name="linge" label="linge" value="0.00" />
    	<label for="litbaby">&nbsp;Lit bébé : </label><input type="text" name="litbaby" label="litbaby" value="0.00" />
    	<label for="degatspayes">&nbsp;Degats payés : </label><input type="text" name="degatspayes" label="degatspayes" value="0.00" />
    	<label for="nonpaye">&nbsp;Non payé : </label><input type="text" name="nonpaye" label="nonpaye" value="0.00" />
    	</div><br />
    
     	<div>
    	<label for="1erpaiement">1er paiement : </label><input type="text" name="1erpaiement" label="1erpaiement" value="0.00" />
    	<label for="date1erpaiement">&nbsp;Date 1er paiement (annee-mois-jour): </label><input type="text" name="date1erpaiement" value="0000-00-00" />
    	</div>
    	<div>
    	<label for="2epaiement">2e paiement : &nbsp;</label><input type="text" name="2epaiement" label="2epaiement" value="0.00" />
    	<label for="date2epaiement">&nbsp;Date 2e  paiement (annee-mois-jour): &nbsp;</label><input type="text" name="date2epaiement" value="0000-00-00" />
    	</div>
    	<div>
    	<label for="3epaiement">3e paiement : &nbsp;</label><input type="text" name="3epaiement" label="3epaiement" value="0.00" />
    	<label for="date3epaiement">&nbsp;Date 3e  paiement (annee-mois-jour): &nbsp;</label><input type="text" name="date3epaiement" value="0000-00-00" />
    	</div><br />
    
    	<div>
    	<label for="remarques">Remarques : </label><input type="text" name="remarques" label="remarques" value=" " />
    	<label for="paragraphesup">&nbsp;Paragraphe supplémentaire : </label><input type="text" name="paragraphesup" label="paragraphesup" value=" " />
    	<label for="enfants">&nbsp;Enfants : </label><input type="text" name="enfants" label="enfants" value=" " />
    	</div>
    
    <div class="boite1">
    <div class="case">
    <div>
    <p>	Tarifs envoyés?</p>
    	<ul>
    		<li>Oui<input type="radio" name="envoitarifs" value="1" />
    		<li>Non<input type="radio" name="envoitarifs" value="2" />
    	</ul>
    </div>
    </div>
    <div class="case">
    <div>
    <p>	Descriptif envoyé?</p>
    	<ul>
    		<li>Oui<input type="radio" name="envoidescriptif" value="1" />
    		<li>Non<input type="radio" name="envoidescriptif" value="2" />
    	</ul>
    </div>
    </div>
    <div class="case">
    <div>
    <p>	Caution restituée</p>
    	<ul>
    		<li>Oui<input type="radio" name="restitution" value="oui" />
    		<li>Non<input type="radio" name="restitution" value="non" />
    		<li>Pas de caution<input type="radio" name="restitution" value="pas de caution" />
    	</ul>
    </div>
    </div>
    </div>
    <div class="boite1">
    <div class="case">
    <div>
    <p>	Appart</p>
    	<ul>
    		<li>1<input type="radio" name="appart" value="1" />
    		<li>2<input type="radio" name="appart" value="2" />
    	</ul>
    </div>
    </div>
    <div class="case">	
    <div>
    <p>	Confirmation de réservation</p>
    	<ul>
    		<li>Oui<input type="radio" name="confirmation" value="1" />
    		<li>Non<input type="radio" name="confirmation" value="2" />
    	</ul>
    </div>
    </div>
    
    <div class="case">
    <div>
    <p>	Annulé</p>
    	<ul>
    		<li>Oui<input type="radio" name="annul" value="1" />
    		<li>Non<input type="radio" name="annul" value="2" />
    	</ul>
    </div>
    </div>
    
    </div>
    <div class="cleardiv">
    </div>
    </form><div>'.$detail.'</div>';
     
    ?>
     
    <?php
    include("tableau.php");
    ?>
    Merci d'avance pour votre aide et votre patience

  12. #12
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    les instructions sont en-haut et le html est en-bas
    Tu as toujours un script du genre echo 'beaucoup de HTML', c'est pas ce qu'il y a de mieux, c'est dur à maintenir et à débuguer (la preuve).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        } 
    	else {
            echo "L'enregistement n'existe pas";
        }
    	else {
      $dat = PDOStatement->fetch_assoc($req);
    Tu as un else mal placé
    On peut pas utilise PDO ainsi, regarde la doc => https://www.php.net/manual/fr/pdo.prepare.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo <form action="ajouterloca_new.php" method="post">
    Il manque un ' => echo '<form...

    Bizarre que tu n'aies pas de messages d'erreur, met un error_reporting(E_ALL) tout en haut.

    + MP

  13. #13
    Membre confirmé
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : piano
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Par défaut
    Merci, je vais corriger.

    Il faut peut-être que j'explique ce que j'avais fait et pourquoi (et ça fonctionnait avant le passage à php7) :
    Je loue un appartement de vacances et pour ne pas tout réécrire à chaque fois avec word ou autre, j'avais fait cette base de données et cette interface en php, le fichier que j'essaie de mettre à jour me sert à enregistrer une nouvelle location, la liste déroulante affiche les locataires enregistrés et les autres champs à enregistrer les date d'arrivée et de départ ainsi que toutes les informations dont j'ai besoin pour envoyer le contrat accompagné d'une lettre récapitulant les différents détails. J'ai réussi à mettre à jour le fichier qui me permet d'enregistrer un nouveau locataire, mais il était beaucoup plus simple et j'avais évidemment beaucoup moins de HTML
    Tu as toujours un script du genre echo 'beaucoup de HTML'
    c'est déjà un premier pas car sans ce fichier je ne pouvais pas aller plus loin.
    Je me rends compte en relisant ce script qu'il n'y a pas de " else " est-ce pour cela qu'il fonctionne et pas le fichier que j'essaie de mettre à jour actuellement ? Donc si je comprends bien PDO n'accepte pas les conditions du genre "if... else..." mais alors quelle instruction faut-il utiliser, j'ai regardé dans la doc comme tu me l'as suggéré, mais j'avoue ne pas avoir compris comment faire.
    J'ai un autre souci, la liste déroulante, comment faire avec PDO pour qu'elle m'affiche les noms et prénoms se trouvant dans la table "locataires" et quelle enregistre dans la table "locations" le "idnoms" du nom choisi permettant ainsi le lier les deux ?
    Pour essayer de m'en sortir, j'ai fait comme tu me l'as suggéré au début, laisser le minimum et voici ce que j'ai fait et ce qui s'affiche à l'écran, mais bien sûr en l'état cela ne peut pas fonctionner
    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 include("menu.php");?>
    <link rel="stylesheet" href="menu/dropdown_three.css" type="text/css">
    <link rel="stylesheet" href="style.css" type="text/css">
    <link rel="stylesheet" type="text/css" href="calendrier.css" /> 
    <script language="JavaScript" src="calendrier.js"></script>
     
    <?php
    try {	
    		$liendb = new PDO('mysql:host=localhost;dbname=xxx;charset=utf8', 'xxx', 'xxx');
      		$liendb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);	
     
    } catch(PDOException $e) {
      echo $sql . "<br>" . $e->getMessage();
    }	
     
    $fajou = "Location ajoutée : ";
    $pajou = "Pas de location ajoutée !";
     
     
    ?>
     
    <div class="centrer">
     
    </div>
    echo <form action="ajouterloca_test1.php" method="post">
    <hr />
    Nom : 2020-08-31 (2).png
Affichages : 194
Taille : 36,8 Ko

    Bien sûr il manque beaucoup de champs vu que j'ai laissé un minimum, j'espère que cela te permettra de comprendre ce que je cherche à faire.

    Encore un immense merci pour ton aide, cela me remonte le moral de savoir que quelqu'un accepte de m'aider.

  14. #14
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Je t'envoie un MP

  15. #15
    Membre confirmé
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : piano
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Par défaut
    Bonjour à tous,
    J'ai un peu progressé, malheureusement pas pour le fichier dont je vous ai parlé précédemment, mais pour deux autres qui m'affichaient une page blanche, maintenant le premier des deux fonctionne, il m'affiche une liste déroulante, je peux choisir un nom, il passe bien l'id au fichier suivant, malheureusement dans celui-ci, seul l'id s'affiche mais pas le deuxième tableau qui contient les données.

    Voici le premier fichier :

    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
    <?php error_reporting ( E_ALL ); ?>
    <?php
    include("menu.php");
    ?>
    <link rel="stylesheet" href="menu/dropdown_three.css" type="text/css">
    <link rel="stylesheet" href="style.css" type="text/css">
    <?php
    include("include/db_inc_pdo.php");
     
     
    //creation de la requete et excécution de la requete
    //**************************************
    $reponse = $pdo->query("SELECT * FROM locataires 
    WHERE  reserve = 'oui'
    ORDER BY nom");
    //while ($line = $reponse->fetch())
     
    $reponse->execute([$reserve]);
    $user = $reponse->fetch();
     
     
    ?>
     
     
     
    <title>Choix du locataire</title>
    </head>
     
    <body>
    <form action="listelocaresultat.php" method="POST">
    <p>Choisissez un nom :</p> <select name="truc">
    <?php
    //while($line = mysql_fetch_assoc($result))
    {
     
    while ($line = $reponse->fetch())
     
        echo '<option value="'.$line['idnoms'].'">'.$line['nom']."&nbsp;&nbsp;-&nbsp;&nbsp;" .$line['prenom'].'</option>';
        }
    ?>
    </select>
    <input type="submit" value="Voir les infos"  />
    </form>
    </body>
    </html>
    et le deuxième qui est appelé par le premier :

    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
    <?php
    include("menu.php");
    //reception de la variable
    $id = isset($_POST['truc']) ? $_POST['truc'] : '';
    $id = $_POST['truc'];
    echo '<br /><center><font color="blue"><big><b>ID locataire: ' . $id . '</b></center></font></big>'; //nombre de résultats
    ?>
     
    <link rel="stylesheet" href="menu/dropdown_three.css" type="text/css">
    <link rel="stylesheet" href="style.css" type="text/css">
     
    <style type="text/css">
    </style>
     
    <?php
    include("include/db_inc_pdo.php");		
     
    /*function display($string)
    {
        echo htmlentities($string, ENT_QUOTES, 'ISO-8859-1');
    }
    
    include("include/variables.inc.php");
    	$liendb  =  mysql_connect($bddserver,  $bddlogin,  $bddpassword);
    mysql_select_db  ($bdd);
    
    */
    $sql = "SELECT 
    		DATE_FORMAT( datearrive, '%d/%m/%Y' ) AS datea, 
    		DATE_FORMAT( datearrive, '%Y' ) AS annee, 
    		DATE_FORMAT( datedepart, '%d/%m/%Y' ) AS dated, 
    		DATEDIFF(datedepart,datearrive ) AS datediff, 
    		dateloca.datearrive, 
    		dateloca.datedepart, 
    		dateloca.nombre, 
    		dateloca.prixlocation, 
    		dateloca.caution, 
    		(dateloca.prixlocation+dateloca.caution+dateloca.linge+dateloca.litbaby) as PT, 
    		(dateloca.1erpaiement+dateloca.2epaiement+dateloca.3epaiement) as Totalpaye, 
    		(dateloca.prixlocation+dateloca.caution+dateloca.linge+dateloca.litbaby-dateloca.1erpaiement-dateloca.2epaiement-dateloca.3epaiement) as Reste, 
    		(dateloca.1erpaiement+dateloca.2epaiement+dateloca.3epaiement-dateloca.caution) as Totalrevenu, 
    		dateloca.1erpaiement, DATE_FORMAT( date1erpaiement, '%d/%m/%Y' ) AS dateunp, 
    		dateloca.2epaiement, 
    		DATE_FORMAT( date2epaiement, '%d/%m/%Y' ) AS datedeuxp, dateloca.3epaiement, 
    		DATE_FORMAT( date3epaiement, '%d/%m/%Y' ) AS datetroisp, 
    		dateloca.linge, 
    		dateloca.litbaby, 
    		dateloca.degatspayes, 
    		dateloca.nonpaye, 
    		dateloca.remarques, 
    		dateloca.restitution, 
    		DATE_FORMAT( datelettre, '%d/%m/%Y' ) AS datel, 
    		dateloca.appart, 
    		dateloca.envoitarifs, 
    		dateloca.envoidescriptif, 
    		dateloca.paragraphesup, 
    		dateloca.confirmation, 
    		dateloca.enfants, 
    		locataires.nom, 
    		locataires.prenom, 
    		locataires.idnoms
    	FROM dateloca
    	INNER JOIN locataires 
    		ON dateloca.idnoms = locataires.idnoms
     
    	WHERE locataires.reserve = 'oui' 
    	AND dateloca.annul =2 
    	AND dateloca.prixlocation >0
    	AND locataires.idnoms = '" . $id . "'
    	ORDER BY locataires.nom, datearrive desc;";
     
    //$result = mysql_query($sql);
    $result = $sql->fetchAll();
     
    $nombre_resultats = mysql_num_rows($result); //compte le nombre d'entrées sélectionnées par la recherche
    if ($nombre_resultats == 0) //s'il n'y a pas de résultat
    {
    echo 'aucun resultat.<a href="listelocaresultat.php">recommencer</a>';
    }
    else //il y a au moins un résultat
    {
    echo '<br /><br /><center><font color="blue"><b><big>Nombre de résultats: ' . $nombre_resultats . '</b></center></font></big><br /><br />'; //nombre de résultats
    }
     
    if($result)
    {
    ?>
    <table class="bicolor" border="1"  align="center">
            <tr>
                <th>Année</th>
                <th>Arrivée</th>
                <th>Départ</th>
    	    <th>Nb. jours</th>
    	    <th>Nom et prénom</th>
                <th>Prix Location</th>
                <th>Caution</th>
                <th>Lit bébé</th>
                <th>Linge</th>
                <th>Prix Total</th>																		
    	    <th>Somme payée</th>
                <th>Reste à payer</th>
    	    <th>Caution restituée</th>
    	</tr>
    <?php
     
    $result = $sql->fetchAll();
     
    //	   while($dateloca = mysql_fetch_assoc($result))
    {
    ?>
                <tr>
                    <td><b><big><font color="red"><?php display($dateloca['annee']); ?></font></big></b></td>
                    <td><?php display($dateloca['datea']); ?></td>
                    <td><?php display($dateloca['dated']); ?></td>								
                    <td><div class="alindr"><?php display($dateloca['datediff']); ?></div></td>								
                    <td><?php display($dateloca['nom'] . ' - ' .  $dateloca['prenom']); ?></td>
                    <td><div class="alindr"><?php display($dateloca['prixlocation']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['caution']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['litbaby']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['linge']); ?></div></td>																								
                    <td><div class="alindr"><?php display($dateloca['PT']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['Totalpaye']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['Reste']); ?></div></td>																																								
                    <td><div class="alindr"><?php display($dateloca['restitution']); ?></div></td>								
     
    <?php
     
    }
    ?>
     
        </table>
    <br />
    <br/>
    <center>
    <?php
    echo '<input type="button" onclick="location.href=\''.( ( $variable == 1 ) ? 'listeloca.php' : 'listeloca.php' ).'\'" value="Recommencer" />';
    ?>
    </center>
    <br />
    <center>
    <?php
    echo '<input type="button" onclick="location.href=\''.( ( $variable == 1 ) ? 'listelocatotal4.php' : 'listelocatotal4.php' ).'\'" value="Voir les locations si plus d\'une fois" />';
    ?>
    </center>
     
    <br />
     
    <center>
    <?php
    echo '<input type="button" onclick="location.href=\''.( ( $variable == 1 ) ? 'listelocatotal.php' : 'listelocatotal.php' ).'\'" value="Voir toutes les locations" />';
    ?>
    </center>
    <?php
    }
     
    //mysql_close($liendb);
    ?>
    Vous remarquerez qu'à partir de la ligne 73 je n'ai pas su adapter mon code en PDO du coup j'ai laissé le mysql , est-ce à cause de cela ? et si oui comment le modifier ?
    A partir de la ligne 88 un tableau devrait s'afficher, mais il ne s'affiche pas et les boutons à partir de la ligne 136 non plus pourquoi ?


    Merci d'avance pour votre aide

  16. #16
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 10
    Par défaut si le problème n'est pas résolu
    bonjour,
    j'ai un peu regardé votre problème, ce qui n'est pas bon c'est le mélange pdo / mysql
    perso j'utilise une classe pour gérer plus facilement PDO 'ici : https://www.phpclasses.org/browse/pa...nload/zip.html)
    j'ai apporté quelques modifications aux 2 derniers script + mon script de connexion à la base de donnée et la classe Mysql.php

    voila, en espérant vous avoir aidé.
    PS
    il est très important de protéger les données venant du client par des filtres même si pour soi.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	        $mail=filter_input(INPUT_POST,'mail',FILTER_VALIDATE_EMAIL);
    	        $nom=filter_input(INPUT_POST,'Nom',FILTER_SANITIZE_STRING);
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. html fichier ne fonctionne plus
    Par azaazz dans le forum Django
    Réponses: 1
    Dernier message: 14/03/2019, 19h21
  2. [Google Calendar API V3] Passage de local a serveur ne fonctionne plus
    Par fabs570 dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 14/08/2014, 12h36
  3. Réponses: 8
    Dernier message: 11/10/2006, 16h41
  4. CSS ne fonctionne plus depuis le passage au XHTML
    Par Cr@zyDeep dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 27/09/2005, 14h42

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