PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#26 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Bonjour, pour les SELECT * je viens de lire:
http://www.expreg.com/fred_article.php? … es_etoiles

Très intéressant et je comprends mieux pourquoi tu veux pas je mette de *

#27 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Bonsoir,

J'ai passé tout l'aprem à lire des tutos sur les regex: j'en extrait l'essentiel afin de créer ceci:

Un regex de verification pour tous les posts qui doivent contenir un numéro de téléphone

function check_num($numero){
    // Définition du modèle : Le numéro doit commencer par un 3 ou un 0 et peut être suivie des chiffres (0 à 9) de 4 à 9 fois
    // On autorise donc les numéros abrégées du site 3xxxx et tous les numéros français 06xxxxxxxx 03xxxxxxxx
    $format_num= "#^[3|0][0-9]{4,9}$#";
    // On vérifie que le numéro
    return preg_match($format_num,$numero);
  }

// exemple avec le post du numéro de l'appelant
if (isset($_POST['num_appelant'])){if (check_num($_POST['num_appelant'])!=0){$num_appelant=$_POST['num_appelant'];}else{echo 'Le champ ' . $_POST['num_appelant'] . ' n\'est pas dans un format valide, il doit contenir des caractères non autorisés, recommencez !';}}else{echo 'Le champ ' . $_POST['num_appelant'] . ' n\'est pas dans un format valide, il doit contenir des caractères non autorisés, recommencez !';}

Un regex de vérification de texte, par contre je sais pas s'il prends les caractères accentués:

function check_texte($texte){
    // Définition du modèle :
    // \w :Indique un caractère alphanumérique ou un tiret de soulignement. Correspond à [a-zA-Z0-9_]
    // \t :Indique une tabulation
    // \n :Indique une nouvelle ligne
    // \r :Indique un retour chariot
    // \s :Indique un espace blanc
    $format_texte= "#^\w\t\n\r\s$#";
    // On vérifie que le texte correspond bien au modèle et ne contient pas d'autres caractères que ceux autorisées
    return preg_match($format_texte,$texte);
  }
// Exemple avec le post du champ commentaires
if (isset($_POST['commentaires'])){if (check_texte($_POST['commentaires'])!=0){$commentaires=$_POST['commentaires'];}else{echo 'Le champ ' . $_POST['commentaires'] . ' n\'est pas dans un format valide, il doit contenir des caractères non autorisés, recommencez !';}}else{echo 'Le champ ' . $_POST['commentaires'] . ' n\'est pas dans un format valide, il doit contenir des caractères non autorisés, recommencez !';}

Est-ce que pour toi ce sont des regex qui déjà sont correct ou faux (après tout) et s'ils sont suffisant niveaux sécurité

Merci et passe un bon week end

maxredphenix

#28 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Bonjour,


J'ai mis un print de ce qui est envoyé à la page de traitement et que ce soit le code de base qui affiche la date du jour ou la date sélectionner par le datepicker j'ai bien 16/06/2012 et pas d'heure en plus, c'est bizarre ça devrait fonctionner du coup....:(

#29 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Merci ça fonctionne niquel, j'ai donc mis ceci:

<?php
  require('../connexionbdd.php');
  // On vérifie que l'ID à été posté
  if(isset($_GET['id'])){$id=intval($_GET['id']);}else{$id=0;}
  if ($id>0){
    $reponse=mysql_query("SELECT * FROM demande WHERE ID=$id");
  }else {
     // code de traitement associé
  }
?>

J'ai enlevé le die mysql_error comme tu me l'as conseillé et je voulais savoir, si je mets pas  SELECT * FROM pour récupérer toutes les données de la table pour l'ID désiré, comment faire alors pour que toutes ces informations soient affichées ensuite dans mes input? je mets un SELECT champ1, champ2 etc... ?

Pour mes questions dont je te parlais voila déjà la première et je t'embêterai plus tard pour les prochaine si t'es toujours d'accord:
J'ai une table utilisateurs qui contient
- id
- nom_prenom (les 2 sont sont mis sur un seul champ car non utile separément)
- pseudo
- password
- etc ...

Voila ma page d'authentification:

<!DOCTYPE html>
<html>
  <head>
  <!-- Icone de la fenêtre du navigateur -->
  <link rel="icon" type="image/png" href="../../images/favicon.png" />
  <!-- Titre -->
  <title>Formulaire d'authentification</title>
  <!-- Appel des CSS -->
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link href="css/template_authentification.css" rel="stylesheet" type="text/css" />
  </head>
  <body>
    <form action="verif_authentification.php" method="post">
    <div id="fieldsetlogin">
      <?php
      // Affichage message erreur?
      if(!empty($errorMessage)){
        echo '<p>', htmlspecialchars($errorMessage) ,'</p>';
      }
      ?>
      <!-- Logo -->
      <div id="logo"><a title="logo" alt="logo"></a></div>
      <!-- Login & MDP -->
      <div id="champlogin">
        <div id="colonne_gauche">
          <label for="login">Login :</label></br>
          <label class="password" for="password">Password :</label></br>
          <input class="submit" type="submit" name="submit" value="Connexion" />
        </div>
        <div id="colonne_droite">
          <input type="text" name="login" id="login" value="" /></br>
          <input type="password" name="password" id="password" value="" />
        </div>
      </div>
    </div>
    </form>
  </body>
</html>

et voila ma page de traitement:

<?php
  // On vérifie que les données envoyées depuis la page d'authentification soient correct
  if ($_POST["login"] != "" && $_POST["password"] != ""){
    $login= $_POST["login"];
    $password=$_POST["password"]; // Ou on crypte le password avec l'algorithme MD5 : $password=md5 ($_POST["password"]);
   
    // Connexion au serveur
    require_once('php/connexbdd.php');
   
    // Création de la requète SQL
    $sql="SELECT pseudo,password FROM utilisateurs WHERE pseudo='".$login."' AND password='".$password."'";
    // Exécution de la requète
    $requete=@mysql_query($sql, $link) or die ($sql."<br>".mysql_error());
    // Récupération du résultat
    $result=mysql_fetch_object($requete);
    // Si la requète est ok
    if (is_object($result)){
      // Début de la session
      session_start();
      // Enregistrement de la variable de session: le login
      $_SESSION["login"]=$login;
      header("location:index.php");
    } else{
      // L'authentification à échoué donc on retourne à la page d'authentification
      header("authentification.php");
    }
  }else{
    // L'authentification à échoué donc on retourne à la page d'authentification
    header("authentification.php");
  }
?>

Est-ce que cela suffit pour une identification correcte sur le site? Si je choisi l'encryptage md5, je suppose que dans la bdd je configure le champ password en type password?
De plus est ce que cela suffit pour faire un affichage du nombre de connecté sur site (via les sessions) dans ma barre de navigation ou est-ce qu'il faut rajouter un champ dans la table du genre "connecte" qui serait mis à true ou false suivant si on est connecté ou non et dans le code de ma barre de navigation je lis ce champ et j'affiche ainsi le nombre total de connecté (avec un truc en plus pour prendre n compte le faite que l'utilisateur à couper son ordi sans se déconnecter)

Sinon je continu de chercher pour le fichier de traitement, j'avance petit à petit mais c'est bien je connais de nouvelles choses comme ça

Merci

#30 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Est-ce que je peux t'envoyé un message privé avec quelques questions vis à vis de certain morceau de code que j'ai fait, pour avoir ton avis  et savoir si c'est bien ou vraiment nul??

Merci

#31 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Oui j'ai bien une requete faite plus haut dans la page:

<?php
  require_once('../connexionbdd.php');
  // Si id a été posté :
  if (isset($_GET['id'])){
    // Protection de la variable "ID" pour éviter une faille SQL
    $_GET['id'] = addslashes($_GET['id']);
    $reponse=mysql_query('SELECT * FROM demande WHERE ID=\'' . $_GET['id'] . '\'') or die (mysql_error());
  }
?>

Pour le while, je sais pas!! je pense que comme j'ai fait tout mes tableaux comme ça j'ai continué dans le même principe.
Le chemin des bouton est correct voila un aperçu de ce que donne la page:

Apercu page

Si je passe par dessus le bouton précédent j'ai bien l'url avec id (-1) qui s'affiche
http://localhost/Monsite/php/formulaires_visualisation/gest_demande.php?id=1

Et maintenant c'est bon, ça fonctionne mais j'ai rien touché mis à part que j'ai mis un border-radius sur les images......:(  mais tant mieux.


Sinon je cherche toujours pour l'enregistrement des données via le preg_match mais c'est un peu dur...

Pour le date picker je vais regarder mais j'ai bien une date en format date et sans l'heure qui s'affiche dans mon input 15/06/2012 et normalement il doit seulement afficher cela, à moins qu'il envoie aussi les h:min:s sans pour autant les afficher

bizarre

Merci pour le temps que tu me consacres

#32 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Bonjour,

Je viens de changer la fonction en mettant comme toi le $format_date à l'intérieur de la fonction. j'ai eu une erreur du style Fatal error: Cannot redeclare function donc j'ai regarder sur le net et j'ai changer le nom de la fonction par check_date comme tu l'avais noté Maljuna Kris et c'est bon plus d'erreur, sauf que toutes mes dates s'enregistrent avec des zéro 0000-00-00 alors qu'avant c’était bon.

J'ai tester avec deux type de séparateur au cas ou, le - et / mais idem. Sachant que normalement toutes mes dates sont faites avec le datepicker jquery au format jj/mm/aaaa.

// Fonction de vérification de la validité des dates
  function check_date($mydate){
    $format_date= '#^¨([0-9]{1,2})-([0-9]{1,2})-([0-9]{4})$#';  
    return preg_match($format_date,$mydate);
  }
  // Fonction de conversion des dates pour l'enregistrement dans la bdd
  function ConversionDate($date,$sep){return implode($sep,array_reverse(explode($sep,$date)));}
  // Test et Conversion des dates
  // if (check_date($_POST['date_appel']) va tester si la date est valide
  // Si c'est le cas on converti la date avec la fonction ConvertionDate
  // $date = $_POST['date_appel']
  // $sep = /
  // Sinon le champs de date sera vide
  if (isset($_POST['date_appel'])){if (check_date($_POST['date_appel'])!=0){$date_appel=ConversionDate($_POST['date_appel'], '/');}else{$date_appel="";}}else{$date_appel="";}

#33 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Je viens de tenter mon regex pour les dates,

Pour le moment j'ai une erreur mais je cherche à la corriger, par contre est-ce que la structure est bien pour toi:

// ******** Déclaration des Dates + Regex qui permet d'inverser l'année avec le jour pour un enregistrement correct dans mysql ********
  // Fonction de vérification de la validité des dates
  $format_date= '#^¨([0-9]{1,2})-([0-9]{1,2})-([0-9]{4})$#';
  function checkdate(mydate){ return preg_match($date,$format_date);}
  // Fonction de conversion des dates pour l'enregistrement dans la bdd
  function ConversionDate($date,$sep){return implode($sep,array_reverse(explode($sep,$date)));}
  // Test et Conversion des dates
  // if (checkdate($_POST['date_appel']) va tester si la date est valide
  // Si c'est le cas on converti la date avec la fonction ConvertionDate
  // $date = $_POST['date_appel']
  // $sep = /
  // Sinon le champs de date sera vide
  if (isset($_POST['date_appel'])){if (checkdate($_POST['date_appel'])!=0){$date_appel=ConversionDate($_POST['date_appel'], '/');}else{$date_appel="";}}else{$date_appel="";}

Pour le moment l'erreur est:  Parse error: syntax error, unexpected ')', expecting '&' or T_VARIABLE  sur ligne de la fonction chekdate mais je cherche d'ou elle vient

#34 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Ah, je viens de trouver mtchart:  http://code.google.com/p/mtchart/  qui est un fork de pchart, donc à voir aussi en plus jpchart....

Parce que le problème de html2pdf c'est qu'il est crée côté serveur donc tous les scripts de génération de graph en JS ou autres ne fonctionne pas

#35 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Je suis d'accord avec toi, cela n'est pas très surtout après 3mois seulement de programmation.

J'avais bien compris pour le but de ton lien pour le preg_match, c'est juste que j'ai pas compris d'ou venait l'erreur et je savais pas pour l'affectation de variable (j'ai encore pas mal de chose simple à apprendre on dirait). Je vais donc relire tout cela et voir comment corriger cela.

Pour ce qui est de l'utf8, justement comme je n'arrivais pas à résoudre le problème du preg_match, je me suis tourné vers quelque chose un peu plus à mon niveau mais je connaissais pas utf8_encode, j'ai donc créer cette fonction pour enregistrer mes données.

Tu m'as dit plus haut que les gens utilisaient htmspecialchar pour ce simplifier la vie, il faut donc que je contrôle mes données via preg_match. Mais même si j'utilise preg_match je suis obligé de passer par htmlspecialchar pour convertir les caractères spéciaux ou alors utiliser la fonction utf8_encode que tu viens de me faire connaitre? (PS: désolé d'être chiant)

Je vais faire un tour du côté de jpchart pour voir ce que ça donne avec html2pdf, mais j'avoue que je regrette bien le faite que pchart me sorte une image vide parce que les graphiques sont plutôt sympa esthétiquement parlant.

maxredphenix

#36 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

J'ai oublier de te demander, est-ce que tu connaitrais pas par hasard un plugin, script ou autres permettant de générer des graphiques de statistiques (histogramme, camembert, courbe)  en fonction des données contenues dans ma bdd mysql mais qui serait en même temps compatible avec html2pdf?

Pour le moment j'ai tenté hightgraph mais fonctionne pas avec html2pdf. Là je suis avec Pchart mais il me génère pas l'image du graphique désiré et comme il n'est plus mis à jour depuis 2008 plusieurs personnes mon conseillées de me tourner vers autre chose mais je trouve rien de valable, soit c'est payant, soit il faut une connexion à internet mais moi c'est en réseau local, soit c'est un super truc mais pas compatible avec html2pdf

je t'explique le pourquoi de cette question: je dois créer un compte rendu mensuel dans lequel il y a des stats et quitte à faire, vu que j’essaie de tout mettre sur informatique autant que tout soit fait depuis l'application.

Merci

#37 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Je viens de regarder ton lien, mais j'avoue que je suis un peu paumer. Je pensais pas qu'enregistrer du texte contenant des caractères spéciaux (àé etc..) tout en évitant les problèmes d'injections ou autres serait si difficile à faire en php

Je viens de relire le paragraphe sur les fonctions dans un de mes livres, est-ce que c'est pas plus simple de faire ceci:

< ?php
  // Fonction d’encodage des caractères spéciaux  + saut de ligne en <br>
  function txt_formulaire($texte){
    return nl2br(htmlentities ($texte, ENT_QUOTES,'UTF-8')) ;
  }
if (isset($_POST['num_appelant'])){
  $num_appelant=txt_formulaire(($_POST['num_appelant'])
}

J'ai pas tester pour le moment, vu que je suis pas sur mon pc (et que c'est moi qui vient de le faire donc c'est surement faux:( )  mais comme ça le texte qui est envoyé via mon formulaire est converti, en plus il me prends en compte mes sauts de ligne pour mes textarea et si je me trompe pas il va prendre en compte les guillement et les quotes. Après je sais pas si ça résolve mon souci de caractère accentué. Il va falloir que je teste cela ce soir (sauf si tu me réponds avant et que tu me dis que c'est nul....)

Juste comme ça, ça fait combien de temps que tu programme en php ou autres langages web, ça t'as pris du temps pour arrivé à un bon niveau?

maxredphenix

#38 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Bonjour,

Je viens de regarder mon code et en effet la ligne

<?php while ($datas = mysql_fetch_assoc($reponse)) { ?>

était en dessous de ma div contenant les boutons suivant/précédent donc forcement ils ne connaissaient pas $data

Par contre lors d'un clic sur un des bouton,  ma page ayant un url:
http://localhost/Monsite/php/formulaires_visualisation/gest_demande.php?id=2
passe bien à
http://localhost/Monsite/php/formulaires_visualisation/gest_demande.php?id=3
donc la déctection de l'id est bonne, mais ne s'affiche que les boutons enregistrer/effacer mais rien d'autres

voil ala partie <body> de ma page servant à la visualisation:

  <body>
    <!-- En Tête - Banniere avec logo -->
    <div id="header" class="banniere">
      <?php
        $titre="Gestion des Demandes"; // Déclaration du titre qui sera affiché dans le header
        require_once('../header.php');
      ?>
    </div>
    <!-- Menu -->
    <div id="barre_navigation">
      <ul id="menu">
        <li><a href="../../index.php"><img src="../../images/home.png" alt="menu" title="menu" style="position: relative; display: inline-block; float:left; padding:2px 0px 0px 9px;"/>Revenir au menu</a></li> <!-- Enregistrement de la page en cours après avoir rempli les champs du formulaire + Revenir au menu -->    
        <li><a href="../formulaires_tableau/gest_demande_tableau.php">Tout afficher</a></li> <!-- Affichage de toutes les fiches dans un tableau -->
        <li><a href="../formulaires_statistique/demande_stat.php">Statistiques</a></li> <!-- Affichage des différents graphiques possibles -->  
        <li><a href="#">Imprimer</a></li> <!-- Impression de la page en cours-->     
      </ul>
      <!-- Appel de la page php servant à l'affichage de l'utilisateur qui est connecté ainsi que le bouton de deconnexion -->
      <?php require_once('../header_navigation.php');?>
    </div>
    <!-- Boucle de récupération des données de la bdd via l'id correspondant à la ligne choisie -->
    <?php while ($datas = mysql_fetch_assoc($reponse)) { ?>
    <!-- Boutons suivant et précédent -->
    <div>
      <div id="BtnSuivant">
        <a href="../formulaires_visualisation/gest_demande.php?id=<?php echo $datas['id']+1; ?>"><img src="../../images/suivant.png" width="33" height="33" alt="Page suivante" /></a>
      </div>
      <div id="BtnPrecedent">
        <a href="../formulaires_visualisation/gest_demande.php?id=<?php echo $datas['id']-1; ?>"><img src="../../images/precedent.png" width="33" height="33" alt="Page précédente" /></a>
      </div>
    </div>
    <!-- Formulaire -->
    <form name="form_demande" method="post" action="../formulaires_traitement/update_demande.php">
      <!-- Regroupement des champs concernant le numéro, la date, et le numéro de l'appelant -->
      <div id="num_appel"><fieldset style="border:none">
        <div id="fourcolonnes_gauche"> <!-- Mettre à gauche du fieldset-->
          <span class= "id_appel">
            <label for="id_appel">N°: </label>
            <input type="text" name="num_appelant" id="num_appelant" value="<?php echo $datas['id'];?>"/>
          </span>
        </div>
        <div id="fourcolonnes_centreg"> <!-- Mettre au milieu à gauche du fieldset-->
          <span class="num_appelant">
            <label for="num_appelant">N° de l'appelant: </label>
            <input type="text" name="num_appelant" id="num_appelant" value="<?php echo $datas['num_appelant']; ?>"/>
          </span>
        </div>
        <div id="fourcolonnes_centred"> <!-- Mettre au milieu à droite du fieldset-->
          <label>Date Appel: </label>
          <input type="text" id="date_appel" name="date_appel" value="<?php echo $datas['date_appel'];?>" /> <!-- Affichage du calendrier avec date du jour rentrer automatiquement -->
        </div>
        <div id="fourcolonnes_droite"> <!-- Mettre à droite du fieldset-->
          <label>Heure Appel: </label>
          <input type="text" id="timepicker" name="heure_appel" value="<?php echo $datas['heure_appel'];?>" /> <!-- Affichage de l'heure: Rentrer automatiquement -->
        </div>
      </fieldset>
      </div>
      <!-- Regroupement des champs concernant les informations principales -->
      <div class="infoglobales"><fieldset>
        <legend>Informations Globales</legend>
          <!-- Block de gauche du fieldset Infoglobale -->
          <div id="infoglobalegauche">
            <span>
              <label for="media">Média: </label>
              <?php
                echo '<SELECT NAME="media" ID="media">';
                mysql_query("SET NAMES UTF8");
                require_once('../connexionbdd.php'); // Connexion à mysql via le fichier connexion.php
                $reponse = mysql_query("SELECT type_media FROM media ORDER BY type_media") or die(mysql_error);
                echo">SELECT NAME='media' onchange='FocusObjet()'>";
                while ($result = mysql_fetch_array($reponse)){
                  echo "<OPTION VALUE='$result[0]'>$result[0]</OPTION>\n";
                }
                echo "</select>";
              ?>
              <br />
            </span>
            <span>
              <label for="systemes">Système: </label>
                <?php
                echo '<SELECT NAME="systeme" ID="syteme">';
                mysql_query("SET NAMES UTF8");
                require_once('../connexionbdd.php'); // Connexion à mysql via le fichier connexion.php
                $reponse = mysql_query("SELECT type_systeme FROM systemes ORDER BY type_systeme") or die(mysql_error);
                echo">SELECT NAME='systeme' onchange='FocusObjet()'>";
                while ($result = mysql_fetch_array($reponse)){
                  echo "<OPTION VALUE='$result[0]'>$result[0]</OPTION>\n";
                }
                echo "</select>";
              ?>
            </span>
          </div>
          <!-- Block central du fieldset Infoglobale -->
          <div id="infoglobalemilieu">
            <span>
              <label for="nom_demandeur">Demandeur: </label>
              <input type="text" name="nom_demandeur" id="nom_demandeur" maxlength="30" value="<?php echo $datas['nom_demandeur'];?>" />
            </span>
            <br />
            <span>
              <label for="service">Service: </label>
              <input type="text" name="service" id="service" maxlength="50" value="<?php echo $datas['service'];?>" />
            </span>
          </div>
          <!-- Block de droite du fieldset Infoglobale -->
          <div id="infoglobaledroite">
            <span>
              <label for="batiment">Bâtiment: </label>
              <input type="text" name="batiment" id="batiment" maxlength="10" value="<?php echo $datas['batiment'];?>"/>
            </span>
            <span>
              <label for="local">Local: </label>
              <input type="text" name="local" id="local" value="<?php echo $datas['local'];?>"/>
            </span>
          </div>
      </fieldset>
      </div>
     
      <!-- Regroupement des champs concernant les Interventions -->
      <div id="interventions"><fieldset>
        <legend>Interventions</legend>
          <div id="infoglobalegauche">
            <span>
              <label>Type Inter : </label>
              <input type="text" name="local" id="local" value="<?php echo $datas['type_inter'];?>" />
            </span>
          </div>
          <div id="infoglobalemilieu">
            <span>
              <label for="tps_inter_souhaite">Tps Souhaité: </label>
                <?php
                echo '<SELECT NAME="tps_inter_souhaite" ID="tps_inter_souhaite">';
                mysql_query("SET NAMES UTF8");
                require_once('../connexionbdd.php'); // Connexion à mysql via le fichier connexion.php
                $reponse = mysql_query("SELECT tps_inter_souhaite FROM tps_inter_souhaite ORDER BY tps_inter_souhaite") or die(mysql_error);
                echo">SELECT NAME='tps_inter_souhaite' onchange='FocusObjet()'>";
                while ($result = mysql_fetch_array($reponse)){
                  echo "<OPTION VALUE='$result[0]'>$result[0]</OPTION>\n";
                }
                echo "</select>";
                ?>
            </span>
          </div>
          <div id="infoglobaledroite">
            <span>
              <label for="objet_appel">Objet Appel: </label>
                <?php
                echo '<SELECT NAME="objet_appel" ID="objet_appel">';
                mysql_query("SET NAMES UTF8");
                require_once('../connexionbdd.php'); // Connexion à mysql via le fichier connexion.php
                $reponse = mysql_query("SELECT objet_appel FROM objet_appel ORDER BY objet_appel") or die(mysql_error);
                echo">SELECT NAME='objet_appel' onchange='FocusObjet()'>";
                while ($result = mysql_fetch_array($reponse)){
                  echo "<OPTION VALUE='$result[0]'>$result[0]</OPTION>\n";
                }
                echo "</select>";
                ?>
            </span>
          </div>
          <div style="with:100%">
            <span>
              <label for="objets">Commentaires :</label>
              <textarea name="objet" class="objet" cols="70" rows="3" autocomplete="off" value="<?php echo $datas['commentaires'];?>"></textarea>
            </span>
          </div>
        </fieldset>
      </div>
      <?php }?> <!-- Fin de la boucle while de récupération des données -->
      <!-- Envoie / Annulation du formulaire -->
      <div id="inputs">
        <input type="submit" value="Enregistrer" id="enregistrer" class="submit"/>
        <input type="reset" value="Effacer" id="effacer" class="reset"/>
      </div>
              </form>
</body>

Je te remercie encore une fois pour l'aide que tu m'apportes et la rapidité de tes réponses.

maxredphenix

Merci pour le lien je vais regarder cela aujourd'hui.

#39 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Bonjour,

Désolé pour le retard. Merci pour toute ces infos, pour la bdd j'avais bien mis tout mes champs date en datetime ou seulement date pour les datepicker simple, mais je voulais juste savoir au cas ou si il y avait pas moyen d'avoir un enregistrement en "français" mais maintenant je suis sur que c'est non...;)

J'ai tester les lignes suivante pour faire un suivant précédent mais j'ai droit à un jolie message d'erreur:

<!-- Boutons suivant et précédent -->
<div>
  <div id="BtnSuivant">
    <a href="../formulaires_visualisation/gest_demande.php?id=<?php echo $datas['id']+1; ?>"><img src="../../images/suivant.png" width="33" height="33" alt="Page suivante" /></a>
  </div>
  <div id="BtnPrecedent">
    <a href="../formulaires_visualisation/gest_demande.php?id=<?php echo $datas['id']-1; ?>"><img src="../../images/precedent.png" width="33" height="33" alt="Page précédente" /></a>
  </div>
</div>

Notice: Undefined variable: datas in C:\wamp\www\Monsite\php\formulaires_visualisation\gest_demande.php on line 141 Call Stack #TimeMemoryFunctionLocation 10.0005411192{main}( )..\gest_demande.php:0 1">( ! ) Notice: Undefined variable: datas in C:\wamp\www\Monsite\php\formulaires_visualisation\gest_demande.php on line 144 Call Stack #TimeMemoryFunctionLocation 10.0005411192{main}( )..\gest_demande.php:0 -1">

Screenshot erreur

Pour ce qui est de ma page de traitement je te remercie de ta sincérité, j'ai créer ceci pour la verif via un preg_match:

$verif_input = "/^[a-zA-ZÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ]+$/";
if (isset($_POST['num_appelant'])){if (!preg_match($verif_input, $input = htmlspecialchars(trim($_POST['num_appelant'])))){$input= $num_appelant;} else {$input="";}

Vous trouvez ça correct ou complètement nul?

Pour ce qui est de l'utf8, ce que je comprends pas c'est que dans mon code actuel, si j'enregistre mon nom prénom dans le champs prévu à cette effet, en retour j'ai droit à j?r?my  (avec les ? dans un carré)

Merci

maxredphenix

#40 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Merci Jc, c'est cool ca commence a rentrer un ptit peu alors, j'ai pas lu tout ces livre pour rien.... smile

Et vis a vis de la structure du fichier de traitement des donnees, mis a part la conversion des dates et le foreach qu'il faut enlever, c'est plutot correct comme code?

Par rapport au champs de type input et textarea, qu'est ce que vous utilisez de votre côté pour le traitement de ces champs vu qu'ils peuvent contenir des caracteres speciaux non pris en charge par mysql et donc mal afficher via le fichier php de visualisation?
J'ai lu qu'il fallait faire un htmlspecialchar, c'est correct? Si on traite les donnees avec htmlspecialchar, est-ce qu'il faut faire un truc particulier dans le code php qui ira reprendre les donnees dans la bdd?

Encore merci de votre aide

#41 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Merci Maljuna Kris pour cette fonction,

Juste comme ça vu que je débute:
Le explode va prendre la date 2008/09/22 pour enlever les / ce qui va donner 2008  09  22
Le array reverse va inverser le 22 et le 2008
le implode va au final rajouter les / pour faire 22/09/2008

C'est bien ça?

Par rapport à mon post précédent, la dernière question concernant l'id? C'est pas trop dangereux de faire ça?

Encore merci

#42 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Bonjour,

Encore merci pour tes réponses,

J'ai regarder ton lien et j'ai changé mon scritp par :

<?php
require_once('../connexbdd.php');
// Si id a été posté :
if (isset($_GET['id'])){
// Protection de la variable "ID" pour éviter une faille SQL
$id= intval($_GET['id']);
$reponse=mysql_query('SELECT * FROM preventif WHERE ID=$id ') or die (mysql_error());
}
?>

J'ai pas tester pour le moment car je peux pas rentrer avant demain soir mais ça devrait être bon non?

Pour le str_replace, si j'ai bien compris tu me dis que du coups il fait que je le remplace par un left et substr, il va falloir que je regarde ça parce que je les connais pas encore celle la wink
Par contre pour ce qui est des verif avec le checkdate et la fonction de construction de la nouvelle date tu penses que ce j'ai noter dans mon post précédent est correct? (vivement que je rentre pour tester....)

Très instructif ton post "Conseils d'un developpeur", c'est bête mais les trois livres que j'ai lu pour le moment ne disent même pas un tier de ce que tu viens de dire.

Pour le 4, c'est bizarre tu es le 2eme à me dire ça alors que dans les livres ils conseillent plus de les mettre en majuscule....

Pour le 5, je vais donc tenter de le faire comme ça, j'attendais d'avoir l'avis de pro avantd e me relancer dans autre chose. je vais donc tenter ceci en rentrant chez moi:

    <a href="../formulaires_visualisation/gest_demande.php?id=<?php echo $datas['id']+1; ?>"><img src="../../images/suivant.png" width="45" height="45" alt="Page suivante" /></a>
    <a href="../formulaires_visualisation/gest_demande.php?id=<?php echo $datas['id']-1; ?>"><img src="../../images/precedent.png" width="45" height="45" alt="Page précédente" /></a>

Juste comme ça le faite de passer l'id par la méthode GET n'est pas trop dangereux? en tout cas pour ce qui est des autorisation j'ai créer une table utilisateurs avec un système de session sur chaque page et le site sera en intranet (je créer un site du style webapp pour me simplifier la vie au boulot, même si pour le moment il me la complique...:) parce que j'en ai marre de tout faire sur papier, à 100 feuilles/mois + tout rentrer sur excel les sommes à la fin du mois afin de faire des stats==> c'est du total gaspillage)

Encore merci

#43 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Merci pour ta réponse, c'est vrai que j'ai pas trouvé et j'ai vu ton message qu'après 30min passé sur google à chercher checkdate....dommage mais ça m'a permis de découvrir d'autres choses donc c'est pas grave.

Si j'ai bien compris, la première phrase compare le pattern à string pour vérifier que la date est dans un format correct, donc ceci pourrait aller non?:

$format_date= '#^¨([0-9]{1,2})-([0-9]{1,2})-([0-9]{4})$#';
function check_date(mydate){ return preg_match($date1,$format_date);}

Ensuite pour la 2eme phrase le str_replace:

function calc_date(mydate) {return str_replace('<^([0-9]{2})/([0-9]{2})/([0-9]{4})$>' , '\\3-\\2-\\1', $date1);}

Mais pourquoi un str_replace au lieu du preg_replace?

Pour la troisième ligne:

if (isset($_POST['date1'])){
  if (check_date($_POST['date1'])){
    $newDate=calc_date($_POST['date1']);
  }
  else{
    $newDate="";
  }
}
else{
  $newDate="";
}

Pourquoi tu mets $newDate=""; si je comprends bien le champs sera vide du coups?

Tant pis pour le format mysql, c'est juste qu'il faut du coup que je fasse l'opération inverse dans chaque page de visualisation.

Jusque comme ça sans trop être trop embêtant, j'aurai une autre question:

j'ai des select coder de de ce style là:

<?php
  echo '<SELECT NAME="type_element" ID="type_element">';
  mysql_query("SET NAMES UTF8");
  require_once('../connexionbdd.php'); // Connexion à mysql via le fichier connexion.php
  $reponse = mysql_query("SELECT type_element FROM element ORDER BY type_element") or die(mysql_error);
  echo">SELECT NAME='type_element' onchange='FocusObjet()'>";
  while ($result = mysql_fetch_array($reponse)){
    echo "<OPTION VALUE='$result[0]'>$result[0]</OPTION>\n";
  }
  echo "</select>";
?>

Ils me servent à récuperer des valeurs dans ma bdd afin de remplir plus facilement mes formulaires et éviter des erreurs de frappe. Par contre si je veux avoir un formulaire de visualisation qui m'affiche automatiquement toutes les valeurs la table correspondnat à l'ID n°1 par exemple, comment puis faire pour avoir la valeur "type_element" enregistrer dans ma table et en même temps avoir le même principe de select afin de pouvoir le changer s'il l'utilisateur le décide.
J'ai tenter de modifier la première ligne avec un :

echo '<SELECT NAME="type_element" ID="type_element" value="<?php echo $datas['type_element'];?>">';

ou

echo '<SELECT NAME="type_element" ID="type_element" value="echo $datas['type_element'];">';

mais rien (à part des erreurs) et je trouve pas d'exemple sur le net....

De plus j'aimerai créer deux boutons me servant à faire enregistrement suivant et précédent. est-ce que c'est possible avec un code du style:

<a href="../formulaires_visualisation/gest_demande.php?id=<?php echo $datas['id']+1; ?>"><img src="../../images/suivant.png" width="45" height="45" alt="Page suivante" /></a>
<a href="../formulaires_visualisation/gest_demande.php?id=<?php echo $datas['id']-1; ?>"><img src="../../images/precedent.png" width="45" height="45" alt="Page précédente" /></a>

Soit, on ouvre la même page que celle ou on est actuellement: gest_demande.php mais on rajoute +1 ou -1 à l'id en cours afin de le transmettre via la méthode get dans l'autre page:

<?php
  require_once('../connexbdd.php');
  // Si id a été posté :
  if (isset($_GET['id'])){
    // Protection de la variable "ID" pour éviter une faille SQL
    $_GET['id'] = addslashes($_GET['id']);
    $reponse=mysql_query('SELECT * FROM preventif WHERE ID=\'' . $_GET['id'] . '\'') or die (mysql_error());
  }
?>

Est-ce une manière propre de faire cela, tout en gardant une seule et même page de visualisation?

Encore merci pour votre aide à tous les deux. J'espère ne pas trop vous dérangez.

maxredphenix

#44 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

exacte, j'avais même pas fait attention que j'avais laissé ce champ vide. Tu me conseilles de me quelque chose du style num_appelant vu qu'il est censé être non vide d'après la condition

if (empty($_POST['num_appelant']))$message .= "Le numéro de l'appelant";

Sinon pour le preg_replace il s'utilise bien comme ceci?:
$date = preg_replace('<^([0-9]{2})/([0-9]{2})/([0-9]{4})$>' , '\\3-\\2-\\1', $date);

Mais est-ce qu'il est vraiment nécessaire de faire un enregistrement en format anglais pour mysql?  si je configure un champs en varchar, est-ce que la date va s'enregistrer en format 01-01-2012 sans souci et surtout est-ce que je pourrais réutiliser mes dates enregistré dans un varchar pour
faire du traitement du style date1-date2=xx heures

Sinon juste comme ça est-ce que le script (mis à part le foreach et les dates) est correct? à l'heure actuelle il fonctionne mais je sais pas si ce code est "propre", j'en suis à mon 3eme livres sur le php et divers cours tels site du zero et j'avais j'ai vu un script entier et détaillé en disant il faut ceci et cela dans tel ordre donc j'ai fais ce que j'ai pu, ça fonctionne mais c'est peut être pas terrible pour des gens qui ont l'habitude de coder.

Encore merci pour ta réponse très rapide

#45 Re : MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

Merci à tous les deux pour vos réponses,

Le script vient de moi, il y a juste la partie concernant les elseif qui m'a été donnée dans un forum parce que j'avais créer un autre type de script et cela causait des problèmes. Pourquoi savoir l'origine? c'est si horrible que ça?

Pour la fonction preg_replace c'est bien ce qu'il me semblait vu ce que j'avais lu dans un des livres que j'ai acheter sur php 5.4 mais bon je voulais quand même l'avais d'utilisateurs expérimentés. Pour le checkdate je vais regarder sur le net parce que je connaissais pas du toutt, merci.

Le foreach va être supprimer dès ce soir, mais je pensais à l'origine qu'il fallait créer une boucle pour l'insertion c'est pour cela que je l'ai mis à la base.

Je n'ai pas accès à mon pc, je regarde dès que j'arrive ce soir.

Je vous tiens au courant.

Encore merci

#46 MySQL, PostgreSQL, etc... » Questions et problèmes sur MYSQL » 03-07-2012 10:32:23

maxredphenix
Réponses : 92

Bonjour à tous,

J'ai commencer à apprendre le php il y a seulement 3 mois donc j'ai pas mal de questions dont je trouve pas forcement les réponses sur le net.

- J'utilise le datepicker de Jquery(ainsi que le dateTimePicker) pour toutes les dates de mon site et ils fonctionnent très bien, mais c'est au niveau de l'enregistrement de ça déconne un peu. J'utilise ceci pour enregistrer mes dates dans ma table mais dès que je veux les lire dans un php avec un formulaire de visu j'ai pas mal d'erreurs:

//Déclaration des Dates + Regex qui permet d'inverser l'année avec le jour pour un enregistrement correct dans mysql
  if(isset($_POST['date_appel'])) $date_appel = $_POST['date_appel'];
  $Newdate_appel = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $date_appel);

 

Apparemment le ereg_replace de devrait plus être utiliser d'après un livre que j'ai lu, est-ce qu'il y aurait un autre moyen? Surtout que sur certain ereg j'ai une erreur de ce type la: Deprecated: Function ereg_replace() is deprecated in......

- J'utilise l'UTF8 dans tout mon site et ma bdd est aussi en utf8 general CI, mais certain tableaux qui me servent à lire le contenu des tables me même des symboles bizarre sur tout ce qui contient des accents. J'utilise cette commande la pour le post:

// Verif de l'existance de $_POST['xxx']
  if (isset($_POST[''])){
    //Déclaration des variables pour les fieldsets de base pour la table "appels"
    $_POST['num_appelant'];
    $_POST['heure_appel'];

Dois-je utiliser des commande du style TRIM etc..?

Voila le code complet de ma page de traitement:

<?php
// Connexion à la base de donnée pour WAMP
$host = "localhost";
$user = "root";
$passwd = "";
$database = "gestspie";
$link = @mysql_connect($host, $user,$passwd);

// Affichage de l'erreur en cas d'erreur de connexion à la bdd
if(!$link){die('Erreur de connexion au serveur');}
$select_db = @mysql_select_db($database);
if(!$select_db){die('Erreur de connexion à la base');}

// Déclaration des variables
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Enregistrement reussi";
$message = $msg_erreur;

// Enregistrement des champs non remplis
// Utilisation la fonction PHP empty() qui retourne:
//  -> "vrai" si la variable passée en paramètre est vide
//  -> "faux" dans le cas contraire.
if (empty($_POST['num_appelant']))$message .= "Le numéro de l'appelant";

// Si le contenu de la variable $message et plus grand que celui de la variable $msg_erreur,
// c'est que nous venons d'ajouter des champs non remplis donc on affiche un message d'erreur
if (strlen($message) > strlen($msg_erreur)) {echo $message;}

// Si les champs sont bien remplis, on peut insérer leurs valeurs dans la base de données MySQL.
// Utilisation de mysql_real_escape_string() qui protège les données avant insertion et notamment
// les apostrophes, guillemets, etc... pour protéger des attaques par injection SQL.
// La boucle foreach() va passer toutes la variables $_POST envoyées par le formulaire en revue.
// Pour chacune d'elle nous allons créer une variable spécifique avec $$index, nettoyer sa valeur avec trim()
// (en enlevant notamment les espaces de fin) et sécuriser sa valeur avec mysql_real_escape_string().
else{
  foreach($_POST as $index => $valeur){
        $valeur = mysql_real_escape_string(trim($valeur));
}
  //Déclaration des Dates + Regex qui permet d'inverser l'année avec le jour pour un enregistrement correct dans mysql
  if(isset($_POST['date_appel'])) $date_appel = $_POST['date_appel'];
  $Newdate_appel = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $date_appel);
  if(isset($_POST['debut_inter'])) $debut_inter = $_POST['debut_inter'];
  $Newdebut_inter = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $debut_inter);
  if(isset($_POST['debut_impo_acces'])) $debut_impo_acces = $_POST['debut_impo_acces'];
  $Newdebut_impo_acces = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $debut_impo_acces);
  if(isset($_POST['fin_impo_acces'])) $fin_impo_acces = $_POST['fin_impo_acces'];
  $Newfin_impo_acces = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $fin_impo_acces);
  if(isset($_POST['fin_inter'])) $fin_inter = $_POST['fin_inter'];
  $Newfin_inter = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $fin_inter);
  if(isset($_POST['date_devis'])) $date_devis = $_POST['date_devis'];
  $Newdate_devis = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $date_devis);
  if(isset($_POST['date_emission'])) $date_emission = $_POST['date_emission'];
  $Newdate_emission = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $date_emission);
  if(isset($_POST['date_commande'])) $date_commande = $_POST['date_commande'];
  $Newdate_commande = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $date_commande);
  if(isset($_POST['maj_plans'])) $maj_plans = $_POST['maj_plans'];
  $Newmaj_plans = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $maj_plans);
  if(isset($_POST['date_emission'])) $date_emission = $_POST['date_emission'];
  $Newdate_emission = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $date_emission);
  if(isset($_POST['delais_livraison'])) $delais_livraison = $_POST['delais_livraison'];
  $Newdelais_livraison = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $delais_livraison);
  if(isset($_POST['date_reception'])) $date_reception = $_POST['date_reception'];
  $Newdate_reception = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $date_reception);
  if(isset($_POST['fin_travaux'])) $fin_travaux = $_POST['fin_travaux'];
  $Newfin_travaux = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $fin_travaux);
 
  // Verif de l'existance de $_POST['xxx']
  if (isset($_POST[''])){
    //Déclaration des variables pour les fieldsets de base pour la table "appels"
    $_POST['num_appelant'];
    $_POST['heure_appel'];
    $_POST['num_appelant'];
    $_POST['heure_appel'];
    $_POST['media'];
    $_POST['nom_demandeur'];
    $_POST['batiment'];
    $_POST['systeme'];
    $_POST['service'];
    $_POST['local'];
    $_POST['type_inter'];
    $_POST['tps_inter_souhaite'];
    $_POST['objet_appel'];
    $_POST['objet'];
   
    //Déclaration des variables pour les autres fieldsets
    //On ne reprend pas les variables appels car déjà créer au-dessus
    $_POST['ensemble'];
    $_POST['element'];
    $_POST['sous_element'];
    $_POST['surete'];
    $_POST['tps_acces_signature'];
    $_POST['intervenant1'];
    $_POST['intervenant2'];
    $_POST['intervenant_autre'];
    $_POST['entreprise'];
    $_POST['prestation_effectuee'];
    $_POST['num_fim'];
    $_POST['type_inter_correctif'];
    $_POST['dysfonctionnement'];
    $_POST['parametre_bf'];
    $_POST['consignes_inter'];
    $_POST['type_operation'];
    $_POST['num_demande'];
    $_POST['devis_demandeur'];
    $_POST['devis_batiment'];
    $_POST['num_devis'];
    $_POST['montant_devis'];
    $_POST['devis_libelle'];
    $_POST['montant_valide'];
    $_POST['num_imputation'];
    $_POST['num_commande'];
    $_POST['annule'];
  }
  // Insérer les données dans la table "appels" avec une requête sql de type "INSERT" et la fonction mysql_query().
  // Vérification que la requête s'est bien effectuée avec la valeur de retour $res
  // Si c'est le cas, on affiche $msg_ok, sinon on affiche l'erreur qui a eu lieu dans MySQL
  // Le premier "" dans values correspont dans la table à l'ID qui est automatiquement incrémenté
  $sql="INSERT INTO appels(id, num_appelant, date_appel, heure_appel, media, nom_demandeur, batiment, systeme, service, local, type_inter, tps_inter_souhaite, objet_appel, commentaires)
  VALUES ('','"
.$_POST['num_appelant']."','$Newdate_appel','".$_POST['heure_appel']."','".$_POST['media']."','".$_POST['nom_demandeur']."','".$_POST['batiment']."','".$_POST['systeme']."','".$_POST['service']."','".$_POST['local']."','".$_POST['type_inter']."','".$_POST['tps_inter_souhaite']."', '".$_POST['objet_appel']."', '".$_POST['objet']."')";
 
  //On enregistre les champs des fieldsets correspondant au choix 1 : Fieldset correctif
  if($_POST["type_inter"] == '1'){
    $sql1="INSERT INTO correctif(id, id_appel, num_fim, date_appel, heure_appel, nom_demandeur, service, batiment, local, type_inter_correctif, systeme, ensemble, element, sous_element, surete, debut_inter, tps_acces_signature, debut_impo_acces, fin_impo_acces, fin_inter, tps_inter_souhaite, intervenant1, intervenant2, intervenant_autre, dysfonctionnement, parametre_bf, consignes_inter, commentaires)
    VALUES ('','"
.$_POST['id_appel']."', '".$_POST['num_fim']."', '$Newdate_appel', '".$_POST['heure_appel']."', '".$_POST['nom_demandeur']."', '".$_POST['service']."', '".$_POST['batiment']."', '".$_POST['local']."', '".$_POST['type_inter_correctif']."', '".$_POST['systeme']."', '".$_POST['ensemble']."', '".$_POST['element']."', '".$_POST['sous_element']."', '".$_POST['surete']."', '$Newdebut_inter', '".$_POST['tps_acces_signature']."', '$Newdebut_impo_acces', '$Newfin_impo_acces', '$Newfin_inter', '".$_POST['tps_inter_souhaite']."', '".$_POST['intervenant1']."', '".$_POST['intervenant2']."', '".$_POST['intervenant_autre']."', '".$_POST['dysfonctionnement']."', '".$_POST['parametre_bf']."', '".$_POST['consignes_inter']."', '".$_POST['objet']."')";
  }
  //On enregistre les champs des fieldsets correspondant au choix 2 : Fieldset exploitation
  else if($_POST["type_inter"] == '2'){
    $sql1="INSERT INTO exploitation(id, id_appel, date_appel, heure_appel, type_exploitation, nom_demandeur, service, batiment, local, date_debut_inter, tps_acces_signature, debut_impo_acces, fin_impo_acces, fin_inter, tps_inter_souhaite, intervenant1, intervenant2, intervenant_autre, type_operation, objet, prestation_effectuee)
    VALUES ('','"
.$_POST['id_appel']."', '$Newdate_appel', '".$_POST['heure_appel']."', '".$_POST['type_exploitation']."', '".$_POST['nom_demandeur']."', '".$_POST['service']."', '".$_POST['batiment']."', '".$_POST['local']."', '$Newdebut_inter', '".$_POST['tps_acces_signature']."', '$Newdebut_impo_acces', '$Newfin_impo_acces', '$Newfin_inter', '".$_POST['tps_inter_souhaite']."', '".$_POST['intervenant1']."', '".$_POST['intervenant2']."','".$_POST['intervenant_autre']."', '".$_POST['type_operation']."', '".$_POST['objet']."', '".$_POST['prestation_effectuee']."')";
  }
  //On enregistre les champs des fieldsets correspondant au choix 3 : Fieldset devis
  else if($_POST["type_inter"] == '3'){
    $sql1="INSERT INTO devis(id, num_demande, datedevis, demandeur, batiment, date_emission, num_devis, montant_devis, libelle, montant_valide, date_commande, num_commande, num_imputation, delais_livraison, fin_travaux, maj_plans, date_reception, annule)
    VALUES ('', '"
.$_POST['num_demande']."', '$Newdate_devis', '".$_POST['devis_demandeur']."', '".$_POST['devis_batiment']."', '$Newdate_emission', '".$_POST['num_devis']."', '".$_POST['montant_devis']."', '".$_POST['devis_libelle']."', '".$_POST['montant_valide']."', '$Newdate_commande', '".$_POST['num_commande']."', '".$_POST['num_imputation']."', '$Newdelais_livraison', '$Newfin_travaux', '$Newmaj_plans', '$Newdate_reception', '".$_POST['annule']."')";
  }
 
  $res=mysql_query($sql);
  $res1=mysql_query($sql1);
  if($res && $res1) {
    echo $msg_ok;
    // Redirection vers la page appels_tableau
    header('Location: ../formulaires_tableau/gest_demande_tableau.php');
  } else {
    echo mysql_error();
  }
}
?>

Merci d'avance pour votre aide

Maxredphenix

#47 Re : Javascript » Problème d'affichage de tableau utilisant "DATATABLES" » 08-05-2012 09:34:54

Bonjour,

Merci pour ta réponse, je vais donc structurer mon site dans cette architecture la. Je préfère maintenant quitte à perdre 2h si quelqu'un de plus expérimenté que moi me conseille de le faire.

Merci

maxredphenix

#48 Re : Javascript » Problème d'affichage de tableau utilisant "DATATABLES" » 08-05-2012 09:34:54

Sinon juste comme ca, a l'heure actuelle j'ai toutes mes pages php qui sont dans le même dossier, est-ce que ce serait pas mieux de séparer dans des sous-dossiers?

Un dossier pour les pages qui contiennent les tableaux datatable
Un dossier pour les pages de création de formulaires
Un dossier pour les pages de visualisation/modif des formulaires lors d'un double clic sur la ligne du tableau datatable
Un dossier pour les pages servant au traitement des données pour les envoyer à la bdd
etc...

Est-ce que c'est mieux d'après toi ou bien inutile?

Encore merci

Pied de page des forums

Propulsé par FluxBB