[RESOLU] Formulaire et traitement en une page

Dilidim
Invité n'ayant pas de compte PHPfrance

29 mai 2015, 10:06

Bonjour,
J'ai créé un site pour faire de la gestion client avec un historique. Ma première page est listeclient.php, elle affiche la totalité des clients dans un tableau. Elle possède également un bouton "add" pour pouvoir créer un nouveau client.
Si, je clic sur un client le formulaire.php s'affiche avec les coordonnées (1er formulaire) il met possible de modifier le contenu des champs. En bas de cette page se trouve un tableau avec les interventions effectués pour le client. Pour en ajouter une il y a un bouton "add", cela affiche inter.php (2eme formulaire) il va gérer seulement les interventions qu'on pourra visualiser dans le tableau en bas de la page formulaire.php. Pour modifier une intervention il suffit de cliquer dessus dans ce même tableau.

Objectifs :
- La création/modification client doit s'effectuer dans la page formulaire.php et non plus via la page traitement.php
- La création/modification intervention doit s'effectuer dans la page inter.php et non plus via la page traitement.php

Ma page formulaire.php
<?php 
	session_start(); // Start la session
	if (!isset($_SESSION['login'])) {
		header ('Location: index.php');
		exit();
	}

//formulaire.php: 
//-----------------------------------------------
require_once('connect.inc.php');
// Recuperation de l'id si disponible dans l'URL
$id = isset($_GET['id'])?$_GET['id']:NULL;

//Lancement de la requete si $id
if($id){
 $requet="SELECT *
     FROM client_tb c
     Where id='$id'";
 $result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet);
 $a_data = mysql_fetch_assoc($result);
}

$nom_e = isset($a_data['nom_e'])?$a_data['nom_e']:'';
$nom_cl = isset($a_data['nom_cl'])?$a_data['nom_cl']:'';
$fixe = isset($a_data['fixe'])?$a_data['fixe']:'';
$fonc = isset($a_data['fonc'])?$a_data['fixe']:'';
$civ = isset($a_data['civ'])?$a_data['civ']:'';
$groupe = isset($a_data['groupe'])?$a_data['groupe']:'';
$contrat = isset($a_data['contrat'])?$a_data['contrat']:'';
$fax = isset($a_data['fax'])?$a_data['fax']:'';
$mob = isset($a_data['mob'])?$a_data['mob']:'';
$mail = isset($a_data['mail'])?$a_data['mail']:'';
$web = isset($a_data['web'])?$a_data['web']:'';
$adr = isset($a_data['adr'])?$a_data['adr']:'';
$ville = isset($a_data['ville'])?$a_data['ville']:'';
$cp = isset($a_data['cp'])?$a_data['cp']:'';
$infos = isset($a_data['infos'])?$a_data['infos']:'';

if($id){
 $requet="SELECT i.*
     FROM inter i, client_tb c 
	 WHERE c.id = i.id_client
       AND c.id = '$id'";
 $result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet);
 $a_data = mysql_fetch_assoc($result);
}
$date = isset($a_data['date'])?$a_data['date']:'';
$inter = isset($a_data['inter'])?$a_data['inter']:'';
$tech = isset($a_data['tech'])?$a_data['tech']:'';
$comm = isset($a_data['comm'])?$a_data['comm']:'';
$temps = isset($a_data['temps'])?$a_data['temps']:'';

 /*Contenu du tableau*/
 $requet="SELECT id, date, inter, tech, comm, temps 
      FROM inter
	  where id_client='$id'";
 $resulta=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet);
?>

<meta http-equiv="refresh" content="1200;deconnexion.php" />
<html>
 <meta charset="utf-8" />
 <head>
  <link rel="stylesheet" href="style/style.css" />
      <nav>
      <ul id="menu_horizontal">
        <li><a href="index.php">Accueil</a></li>
        <li><a href="listeclient.php">Liste des clients</a></li>
        <li><a href="agenda.php">Agenda</a></li>
      </ul>
    </nav>
 </head> 
 
 <body>
  <form name="formulaire" action="" method="POST"> 
    <table>
    <tr>
     <td>Entreprise</td>
     <td><input type="text" name="nom_e" value="<?php echo $nom_e ;?>" /></td>
         <td>Fixe</td>
          <td><input type="tel" name="fixe" value="<?php echo $fixe ;?>"/></td>
       </tr>
    <tr>
        <td>Contact </td>
        <td><input type="text" name="nom_cl" value="<?php echo $nom_cl ;?>"/></td>
          <td> Mobile</td>
         <td><input type="tel" name="mob" value="<?php echo $mob ;?>"/></td>
       </tr>
       <tr>
        <td>Fonction</td>
         <td><input type="text" name="fonc" value="<?php echo $fonc ;?>"/> </td>
        <td>Fax</td>
         <td><input type="tel" name="fax" value="<?php echo $fax ;?>"/> </td>
       </tr>
       <tr>
         <td>Civilité</td>
      <?php
        $checked_Mme = ($civ =="Mme")? "checked='checked'" : '' ;
        $checked_M = ($civ =="M.")? "checked='checked'" : '' ;
        echo  '<td><input class="radio" name="civ" value="Mme"  '.$checked_Mme.' type="radio"> Madame
                  <input class="radio" name="civ" value="M."  '.$checked_M.' type="radio"> Monsieur</td>'
      ?>
         <td>Email</td>
         <td> <input type="email" name="mail" value="<?php echo $mail ;?>"/></td>
       </tr>
       <tr>
         <td>Groupe</td>
        <?php
		$selected_Association = ($groupe =="Association")? "selected='selected'" : '' ;
		$selected_Liberale = ($groupe =="Liberale")? "selected='selected'" : '' ;
        $selected_Particulier = ($groupe =="Particulier")? "selected='selected'" : '' ;
        $selected_Pro = ($groupe =="Pro")? "selected='selected'" : '' ;
        echo  '<td><select name="groupe"> <option value="Association" '.$selected_Association.'> Association </option>
		                      <option value="Liberale" '.$selected_Liberale.'> Liberale </option>
		                      <option value="Particulier"  '.$selected_Particulier.'> Particulier </option>
                              <option value="Pro"  '.$selected_Pro.'> Pro</option></select></td>'
      ?>
         <td>Web</td>
         <td> <input type="text" name="web" value="<?php echo $web ;?>"/></td>
    </tr>
       <tr>
         <td>Contrat</td>
          <?php
        $checked_Non = ($contrat =="Non")? "checked='checked'" : '' ;
        $checked_Oui = ($contrat =="Oui")? "checked='checked'" : '' ;
        echo  '<td><input class="radio" name="contrat" value="Non"  '.$checked_Non.' type="radio"> Non
                  <input class="radio" name="contrat" value="Oui"  '.$checked_Oui.' type="radio"> Oui</td>'
      ?>
         <td>Adresse</td>
         <td><input type="text" name="adr" value="<?php echo $adr ;?>"/></td>
       </tr>
       <tr>
         <td>Ville</td>
         <td><input type="text" name="ville" value="<?php echo $ville ;?>"/> </td>
         <td>CP</td>
         <td><input type="text" name="cp" value="<?php echo $cp ;?>"/></td>
       </tr>
   </table>
   <h3>Infos
    <h3><textarea name="infos" rows="2" cols="80" ><?php echo $infos ;?></textarea></h3>
    <h6><form ACTION="inter.php"> <input TYPE="image" src="style/add.png" name="submit" ><span></form>
    <input type="submit" value="Valider"/></form></h6>
		</form>
  <table id="rec">
   <?php
    $NbrCol = 6;
     if($resulta){
      echo "<th>N°</th><th>Date</th><th>Type d'inter</th><th>Tech</th><th>Commentaire</th><th>Temps</th>";
      while($ligne=mysql_fetch_assoc($resulta)) {
       echo "<tr>";
       foreach($ligne as $value){
        echo'<td><a href=inter.php?id='.$ligne['id'].'">'.$value.'</a></td>';
       }
       echo "</tr>";
      }
     }
      mysql_close();
   ?>
    <input type="hidden" name="id" value="<?php echo $id; ?>">
	</body>
<?php
 include('footer.php');
?>
</html>
Ma page inter.php
<?php 
session_start(); // Start la session
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
?>
<?php
//formulaire.php: 
//-----------------------------------------------
require_once('connect.inc.php');
// Recuperation de l'id si disponible dans l'URL
$id = isset($_GET['id'])?$_GET['id']:NULL;

//Lancement de la requete si $id
if($id){
 $requet="SELECT *
     FROM inter i, client_tb c 
	 WHERE c.id = i.id_client
       AND c.id = '$id'";
 $result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet);
 $a_data = mysql_fetch_assoc($result);
}
$date = isset($a_data['date'])?$a_data['date']:'';
$inter = isset($a_data['inter'])?$a_data['inter']:'';
$tech = isset($a_data['tech'])?$a_data['tech']:'';
$comm = isset($a_data['comm'])?$a_data['comm']:'';
$temps = isset($a_data['temps'])?$a_data['temps']:'';
?>

<html>
 <meta charset="utf-8" />
<head>
 <link rel="stylesheet" href="style/style.css" />
</head>
<body>
 <form name="form" action="" method="POST">
 <table>
    <tr>
     <td>Date</td>
     <td>Type d'inter</td>
         <td>Tech</td>
          <td>Commentaire</td>
		  <td> Temps (en min)</td>
       </tr>
    <tr>
		<td>
			<input type="date" name="date" value="<?php echo $date ;?>"/>
	    </td>
			<?php
				$selected_Teamviewer = ($inter =="Teamviewer")? "selected='selected'" : '' ;
				$selected_Telephonie = ($inter =="Telephonie")? "selected='selected'" : '' ;
				$selected_Deplacement = ($inter =="Deplacement")? "selected='selected'" : '' ;
				$selected_Bureau = ($inter =="Bureau")? "selected='selected'" : '' ;
				echo  '<td><select name="inter"> 
										<option value="Teamviewer" '.$selected_Teamviewer.'> Teamviewer </option>
										<option value="Telephonie" '.$selected_Telephonie.'> Téléphonie</option>
										<option value="Deplacement" '.$selected_Deplacement.'> Déplacement</option>
										<option value="Bureau" '.$selected_Bureau.'> Bureau</option>
				        	</select></td>'
			?>
			<?php
				$selected_Christophe = ($tech =="Christophe")? "selected='selected'" : '' ;
				$selected_Dimitri = ($tech =="Dimitri")? "selected='selected'" : '' ;
				$selected_Gwenaelle = ($tech =="Gwenaelle")? "selected='selected'" : '' ;
				$selected_Lucas = ($tech =="Lucas")? "selected='selected'" : '' ;
				$selected_Patrick = ($tech =="Patrick")? "selected='selected'" : '' ;
				echo  '<td><select name="tech"> 
										<option value="Christophe" '.$selected_Christophe.'> Christophe </option>
										<option value="Dimitri" '.$selected_Dimitri.'> Dimitri</option>
										<option value="Gwenaelle" '.$selected_Gwenaelle.'> Gwenaelle</option>
										<option value="Lucas" '.$selected_Lucas.'> Lucas</option>
										<option value="Patrick" '.$selected_Patrick.'> Patrick</option>
				        	</select></td>'
			?>
     	<td>
     		<textarea name="comm" rows="1" cols="50" ><?php echo $comm ;?></textarea>
     	</td>
		<td>
			<input type="number" name="temps" value="<?php echo $temps;?>"/>
		</td>
    </tr>
</table>

 
 <?php
  function getPost($variableName,$defaultValue=''){
    return isset($_POST[$variableName])?$_POST[$variableName]:$defaultValue;
  }

  if(isset($_POST)){
    
    $id = getPost("id");
    $date = getPost("date");
    $inter = getPost("inter");
    $tech = getPost("tech");
    $comm = getPost("comm");
	$temps = getPost("temps");

if($id){
// Mise à jour via un UPDATE
  $sql_inter = "UPDATE inter
                SET date = '$date'
                     , inter = '$inter'
                     , tech =  '$tech'
                     , comm =  '$comm'
					 , temps = '$temps'
                WHERE id ='$id' ";
  $requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>");

}else{
 // Création nouveau ( INSERT )
    $sql_inter = "INSERT  INTO inter
               (date, inter, tech, comm, temps)
              VALUES ('$date','$inter', '$tech', '$comm', '$temps')";
  $requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>");
}

if($requete) {
    echo("<br>L'insertion a ete correctement effectuee");    
  header('Location: listeclient.php');      
    exit();
} else {
    echo("<br>L'insertion a echouee");
}
}

    else {
      echo "<pre>Aucune donnee presente dans _POST </pre>";
    }
?>
<input type="submit" value="ok"/>
</form>

</body>
</html>
ma page traitement.php
<?php
session_start(); // Start la session
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
  require_once('connect.php');

  function getPost($variableName,$defaultValue=''){
    return isset($_POST[$variableName])?$_POST[$variableName]:$defaultValue;
  }

  if(isset($_POST)){
    
    $id = getPost("id");
    $nom_e = getPost("nom_e");
    $nom_cl = getPost("nom_cl");
    $fonc  = getPost("fonc");
    $civ  = getPost("civ");
    $groupe = getPost("groupe");
    $contrat = getPost("contrat");
    $fixe  = getPost("fixe");
    $mob  = getPost("mob");
    $fax  = getPost("fax");
    $mail  = getPost("mail");
    $web  = getPost("web");
    $adr  = getPost("adr");
    $ville = getPost("ville");
    $cp  = getPost("cp");
    $infos = getPost("infos");
    $date = getPost("date");
    $inter = getPost("inter");
    $tech = getPost("tech");
    $comm = getPost("comm");
	$temps = getPost("temps");

if($id){
// Mise à jour via un UPDATE
  $sql_client = "UPDATE client_tb
                  SET nom_e = '$nom_e'
                       , nom_cl = '$nom_cl'
                       , fonc = '$fonc'
                       , civ = '$civ'
                       , groupe = '$groupe'
                       , contrat = '$contrat'
                       , fixe =  '$fixe'
                       , mob = '$mob'
                       , fax =  '$fax'
                       , mail =  '$mail'
                       , web = '$web'
                       , adr = '$adr'
                       , ville = '$ville'
                       , cp = '$cp'
                       , infos = '$infos'
                  WHERE id='$id' ";
  $requete = mysql_query($sql_client) or die( mysql_error()."<br>REQUETE:<pre>".$sql_client."</pre>");

  $sql_inter = "UPDATE inter
                SET date = '$date'
                     , inter = '$inter'
                     , tech =  '$tech'
                     , comm =  '$comm'
					           , temps = '$temps'
                WHERE id ='$id' ";
  $requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>");

}else{
 // Création nouveau ( INSERT )
    $sql_client = "INSERT  INTO client_tb
                   (nom_e, nom_cl, fonc, civ, groupe, contrat, fixe, mob, fax, mail, web, adr, ville, cp, infos)
              VALUES ('$nom_e','$nom_cl','$fonc','$civ','$groupe','$contrat','$fixe','$mob','$fax','$mail','$web','$adr','$ville','$cp','$infos')";
  $requete = mysql_query($sql_client) or die( mysql_error()."<br>REQUETE:<pre>".$sql_client."</pre>");
  $client_id=mysql_insert_id();

    $sql_inter = "INSERT  INTO inter
               (date, inter, tech, comm, temps)
              VALUES ($date,'$inter', '$tech', '$comm', '$temps')";
  $requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>");
}

if($requete) {
    echo("<br>L'insertion a ete correctement effectuee");    
  header('Location: listeclient.php');      
    exit();
} else {
    echo("<br>L'insertion a echouee");
}
}

    else {
      echo "<pre>Aucune donnee presente dans _POST </pre>";
    }
?>
<meta http-equiv="refresh" content="1200;deconnexion.php" />
<html>
 <?php
 include('footer.php');
 ?>
</html>

Je vous ai mis les pages formulaire.php et inter.php modifié mais non fonctionnel, le traitement.php est d'origine.
Merci d'avance !

Gregory
Invité n'ayant pas de compte PHPfrance

29 mai 2015, 11:49

Bonjour,

Petite question je ne vois pas ou tu fais appel à ton fichier traitement.php la.
Dans un formulaire si tu ne mets rien dans la partie "action", une fois le formulaire soumit c'est la même page qui est exécutée.
Donc deja ajoutes action="<?= $_SERVER["PHP_SELF"] ?>"
Ensuite n'utilises plus mysql_query et autres qui sont des fonctions obsolètes je te conseille d'utiliser PDO http://php.net/manual/fr/book.pdo.php .
La dans ton code tu as une faille de sécurité du au fait que tu ne vérifie pas la ressource id que tu récupères.

Ensuite pour la partie traitement, il te suffit juste de verifier si la variable $_POST['nom_btn_submit'] (tu n'as pas donné de name à ton input type="submit") existe et qu'elle correspond bien à ta value .
genre
if ( isset($_POST['nom_btn_submit']) && ($_POST['nom_btn_submit'] == "Valider")) {
    // Traitement des du formulaire.
}

Une chose très importante penses à toujours vérifier les datas que tu reçois, ne jamais faire confiance à l'utilisateur ;)

Bon courage pour la suite

Gregory

Dilidim
Invité n'ayant pas de compte PHPfrance

29 mai 2015, 15:14

Merci pour ton aide !

Je souhaite justement supprimer le "traitement.php" comme j'avais des soucis avec les requêtes création/modification de client et d'intervention. Donc pour bien les différencier, j'ai mis la création/modif client dans le formulaire.php et pour la création/modif d'intervention dans la page inter.php .
C'est pour cela que j'ai mis
action=" "
.
Peux tu m'expliquer le principe de ça
action="<?= $_SERVER["PHP_SELF"] ?>"
Dans mon formulaire.php le bouton "add" doit etre également dans
if ( isset($_POST['nom_btn_submit']) && ($_POST['nom_btn_submit'] == "Valider"))
?
Ce bouton me sert à créer une intervention.

Pour le formulaire le traitement fonctionne, le client se créer correctement.
Par contre j'ai un souci, quand je valide la modification de ce client, ça m'en créer un nouveau.

Comment je peux vérifier la source récupérée ?

Désolé, j'ai beaucoup de questions ^^

Petit nouveau ! | 9 Messages

29 mai 2015, 15:32

$_SERVER['PHP_SELF'] : contient le nom du script en cours.

Dans ton formulaire de création de client tu dois bien avoir un bouton submit pour valider les informations, c'est le nom de ce bouton qui va te permettre de mettre ta condition pour créer ton client le if (isset( ....

pour modifier il faut passer un paramètre dans l'url et verifier si ce paramètre existe, sa valeur, si c est bien un entier etc... puis avec le meme principe.
Je te conseille de regarder ici http://sylvie-vauthier.developpez.com/t ... ormulaires ca te donnera une petite idee de comment fonctionne les formulaire en php.

Dilidim
Invité n'ayant pas de compte PHPfrance

29 mai 2015, 17:54

Pour le paramètre dans l'url, je le renseigne dans formulaire.php avec
<table id="rec">
   <?php
    $NbrCol = 6;
     if($resulta){
      echo "<th>N°</th><th>Date</th><th>Type d'inter</th><th>Tech</th><th>Commentaire</th><th>Temps</th>";
      while($ligne=mysql_fetch_assoc($resulta)) {
       echo "<tr>";
       foreach($ligne as $value){
       [u] echo'<td><a href=inter.php?id='.$ligne['id'].'">'.$value.'</a></td>';[/u]

C'est pas la bonne méthode ?

Merci pour le lien faut que je lise plusieurs fois pour vraiment comprendre la totalité.

Avatar du membre
Mammouth du PHP | 1609 Messages

29 mai 2015, 17:56

Salut Dilidim, j'ai pas tout lu mais sur ton lien il manque un " :
echo '<td><a href=[u]"[/u]inter.php?id='.$ligne['id'].'">'.$value.'</a></td>';
Développeur web depuis + de 20 ans

Dilidim
Invité n'ayant pas de compte PHPfrance

29 mai 2015, 18:13

Merci Saian, je n'avais pas vu.

Hélas erreur :

Cannot add or update a child row: a foreign key constraint fails (`intervention`.`inter`, CONSTRAINT `inter_ibfk_1` FOREIGN KEY (`id_client`) REFERENCES `client_tb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
REQUETE:

INSERT INTO inter
(date, inter, tech, comm, temps)
VALUES ('2015-05-29','Bureau', 'Dimitri', 'Test', '5')

Problème de clé étrangère ?

Avatar du membre
Mammouth du PHP | 1609 Messages

29 mai 2015, 18:16

Oui, il y a une contrainte de clé étrangère qui échoue.
Je suppose que tu dois avoir une colonne id_client sur la table inter et tu ne l'as défini pas alors qu'elle devrait ?
Développeur web depuis + de 20 ans

Dilidim
Invité n'ayant pas de compte PHPfrance

01 juin 2015, 09:40

Dans la table client_tb j'ai ID et dans la table inter j'ai ID (pour l'intervention) ainsi que ID_client (qui est la clé étrangère).

Diidim
Invité n'ayant pas de compte PHPfrance

02 juin 2015, 10:44

Help SVP :)

Avatar du membre
Mammouth du PHP | 1609 Messages

02 juin 2015, 15:35

Comme dit précédemment, j'imagine que la colonne id_client DOIT être définie.

Si tu veux pouvoir ajouter une ligne dans la table inter sans être obligé de renseigner cette colonne, alors modifie la structure de la table en conséquence (autoriser le NULL sur la colonne par exemple).
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 18 Messages

02 juin 2015, 17:46

L' id_client doit correspondre à l'id de la table client_tb. Si je met en NULL l'inter ne va être attribué a personne =/
CREATE TABLE IF NOT EXISTS `client_tb` (
  `id` smallint(5) NOT NULL,
  `nom_e` varchar(30) NOT NULL,
  `nom_cl` varchar(30) NOT NULL,
  `fixe` varchar(20) NOT NULL,
  `fonc` varchar(30) NOT NULL,
  `civ` varchar(20) NOT NULL,
  `groupe` varchar(20) NOT NULL,
  `contrat` varchar(20) NOT NULL,
  `fax` varchar(20) NOT NULL,
  `mob` varchar(20) NOT NULL,
  `mail` varchar(30) NOT NULL,
  `web` varchar(30) NOT NULL,
  `adr` varchar(30) NOT NULL,
  `ville` varchar(30) NOT NULL,
  `cp` char(5) NOT NULL,
  `infos` longblob NOT NULL

CREATE TABLE IF NOT EXISTS `inter` (
  `id` smallint(5) NOT NULL,
  `id_client` smallint(5) NOT NULL,
  `date` date NOT NULL,
  `inter` varchar(20) NOT NULL,
  `tech` varchar(20) NOT NULL,
  `comm` text NOT NULL,
  `temps` decimal(10,0) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `client_tb`
  ADD PRIMARY KEY (`id`);

ALTER TABLE `inter`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_client` (`id_client`);

ALTER TABLE `client_tb`
  MODIFY `id` smallint(5) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;

ALTER TABLE `inter`
  MODIFY `id` smallint(5) NOT NULL AUTO_INCREMENT;

ALTER TABLE `inter`
  ADD CONSTRAINT `inter_ibfk_1` FOREIGN KEY (`id_client`) REFERENCES `client_tb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

Avatar du membre
Mammouth du PHP | 1609 Messages

02 juin 2015, 18:08

Il est où l'id_client dans ta requête d'insert la ?

INSERT INTO inter
(date, inter, tech, comm, temps)
VALUES ('2015-05-29','Bureau', 'Dimitri', 'Test', '5')

Tu comprends toujours pas ?
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 18 Messages

02 juin 2015, 18:15

Je dois modifier ma requête comme ceci ?
{
   // Création nouveau ( INSERT )
      $sql_inter = "INSERT  INTO inter
                 (id_client, date, inter, tech, comm, temps)
                VALUES ('$id_client', '$date','$inter', '$tech', '$comm', '$temps')";
    $requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>");
  }

Avatar du membre
Mammouth du PHP | 1609 Messages

02 juin 2015, 18:39

Tu as une table inter avec une colonne id_client not null et tu as de plus une contrainte de clé étrangère sur cette même colonne.
Il faut bien entendu la renseigner lors de l'insertion de la ligne.

Sinon tu as mis ça dans ton code : $client_id = mysql_insert_id();
Alors si tu mets $id_client dans la requête ça ne va pas fonctionner...
Développeur web depuis + de 20 ans