Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/09/2011, 16h21   #1
 
Homme
Étudiant
Inscription : septembre 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2011
Messages : 4
Points : -1
Points : -1
Par défaut affichage, enregistrement et recuperation de l'url

Bonjour

Je dois réaliser une page avec un formulaire d'enregistrement qui se présente comme suite:
  • on saisie un code dans un formulaire
  • si ce code existe dans la base de donnée après validation on affiche un formulaire avec les autres champs de cette table dans la même page.
  • si ce code n'existe pas dans la base de donnée on envoie un message disant que se code n'existe pas et on pose la question demandant si oui ou non vouloir créer ce code
  • si oui, on envoi un formulaire vide avec le code intégré ensuite on remplir les autres champs et on valide.

Problèmes:
  • Je reçoit une erreur: Notice: indefined index:Codeparamcom
  • quand j'actualise la page il crée de nouvelle enregistrement avec les données saisies précédemment.

Je voudrai savoir ce qui en est la cause dans mon code.


Voici mes sources:
page 1:marqapeil.php
Code :
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
<div id="divContent">
        <h1>Fichier -> Marque appareil</h1>
        <form action="marqapeil.php" method="post" >
  <fieldset>
		<p>code:<input name="Code" type="text" size="10" maxlength="3"/>
          <input type="submit" name="Affiche" value="Afficher" /></p>
 
  </fieldset>
  </form>
        <?php
          include('Connections/dbb.php');
 
            //recuperation du numero de l'ami
			if(isset($_POST['Affiche'])){
             $Code=$_POST['Code'];
 
 
         //on se connecte a MYSQL
	$dbb=mysql_connect($hostname_dbb, $username_dbb, $password_dbb) or die('Erreur de connexion ' . mysql_error());
 
		// on sélectionne la base 
	mysql_select_db($database_dbb,$dbb) or die('Erreur de selection ' . mysql_error());
 
        // on crée la requête SQL
          $requet="SELECT Code, Marque, Val1, Val2 FROM paramcom WHERE Code=".$Code;
 
		// on execute la requete
          $execute_requet=mysql_query($requet)or die('selection echouée' . mysql_error());
 
         // affichage des données
			if($result=mysql_fetch_object($execute_requet)){
 
 
?>
       <form method="post" action="marqapeil.php">
       <fieldset> 
              <p>code:<input name="Code" type="text" value="<?php echo($result->Code) ;?>" size="10" maxlength="3"/></p>   
		     <p>Designation:<input type="text" name="Marque" tabindex="20" align="texttop"  value="<?php echo($result->Marque) ;?>"/></p>
            <p>Premiere position:<input type="text" name="Val1" tabindex="20" align="texttop" value="<?php echo($result->Val1) ;?>"/></p>
	      <p>Deuxieme position:<input type="text" name="Val2" tabindex="20" align="texttop" value="<?php echo($result->Val2) ;?>"/></p>
          <input type="submit" value="Modiffier" name="modif"/>
          <input type="submit" value="Valider" name="Valider" />
          <input type="reset" value="annuler" />
          </fieldset>
		  </form> 
 
<?php
		}else{
			$Codeparamcom=$_POST['Code'];
		   echo'Ce code n\'existe pas , voulez-vous le créer?';
				   echo'<span align="center"><a href="ajout.php?Codeparamcom='.$Code.'"> Oui </a><a href="#"> Non</a></span>';
}
     mysql_close();
      }
?>
ensuite page2:ajout.php
Code :
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
<div id="divContent">
        <h1>Fichier -> Marque appareil</h1>
        <?php 
		//recuperation des valeurs dans l'url
 
			$Code= $_GET['Codeparamcom'];
		?>
 
        <form method="get" action="ajout.php">
       <fieldset> 
              <p>code:<input name="Code" type="text" value="<?php echo '.$Codeparamcom.';?>" size="10" maxlength="3"/></p>   
		     <p>Designation:<input type="text" name="Marque" tabindex="20" align="texttop"  value=""/></p>
            <p>Premiere position:<input type="text" name="Val1" tabindex="20" align="texttop" value=""/></p>
	      <p>Deuxieme position:<input type="text" name="Val2" tabindex="20" align="texttop" value=""/></p>
 
          <input type="submit" value="Valider" name="Valider" />
          <input type="reset" value="annuler" />
          </fieldset>
		  </form>
 
        <?php
          include('Connections/dbb.php');
 
         //on se connecte a MYSQL
	$dbb=mysql_connect($hostname_dbb, $username_dbb, $password_dbb) or die('Erreur de connexion ' . mysql_error());
 
		// on sélectionne la base 
	mysql_select_db($database_dbb,$dbb) or die('Erreur de selection ' . mysql_error());
 
	//recuperation des valeurs des variables
	$Code = $_POST['Code'] ;
  //Code
    $Marque = $_POST['Marque'] ;
  //Marque:
    $Val1 = $_POST['Val1'] ;
  //Val1:
    $Val2 = $_POST['Val2'] ;
  //Val2:
 
        // on crée la requête SQL
          $requet= "INSERT INTO paramcom (Code, Marque, Val1, Val2) VALUES ('$Code', '$Marque', '$Val1', '$Val2')";
 
		// on execute la requete
          $execute_requet=mysql_query($requet)or die('selection echouée' . mysql_error());
 
         // affichage des données
			if($execute_requet){
				 echo("L'insertion a été correctement effectuée") ;
 
	           }
          else
          {
             echo("L'insertion à échouée") ;
 
     mysql_close();
      }
?>
 
			</div>
bedidaquin01 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 15/09/2011, 20h45   #2
Invité de passage
 
Homme
Développeur Web
Inscription : septembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2011
Messages : 2
Points : 2
Points : 2
C'est normal qu'au rafraichissement tu renvoies les données car tu ne contrôle rien

Typiquement il faudrait au minimum que tu vérifies que ton formulaire soit bien envoyé avant d'executer quoi que ce soit, par ex :

Code :
1
2
3
4
5
6
7
 
<?php
if($_POST[submit]){
// Tu execute ton code
}
?>
<html>Ton formulaire</html>
Normallement il faut que tu vérifie chaque input avant d'executer quoi que ce soit.
Ubutux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 03h35   #3
 
Homme
Étudiant
Inscription : septembre 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2011
Messages : 4
Points : -1
Points : -1
salut
merci pour la repnse
mais j'ai modiffier mon code mais c'est tjrs les memes erreurs

Code :
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
<form method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
    <fieldset> 
  <p>code:<input name="Code" type="text" value="<?php echo htmlentities($Codep=$_GET['Codeparamcom']); ?>" size="10" maxlength="3"/></p>   
		    <p>Designation:<input type="text" name="Marque" tabindex="20" align="texttop"/></p>
           <p>Premiere position:<input type="text" name="Val1" tabindex="20" align="texttop"/></p>
	      <p>Deuxieme position:<input type="text" name="Val2" tabindex="20" align="texttop"/></p> 
          <input type="submit" value="Valider" name="Valider" />
          <input type="reset" value="annuler" />
          </fieldset>
		  </form>
 
        <?php
          include('Connections/dbb.php');
 
		  //recuperation des valeurs des variables
	if (isset($_POST['Valider'])){
		$Code=$_POST['Code'];
	    $Marque=$_POST['Marque'];
	    $Val1=$_POST['Val1'];
	    $Val2=$_POST['Val2'];
 
	    if(empty($Code) || empty($Marque) || empty($Val1) || empty($Val2)) echo 'Remplir tous les champs';
	    else
	    {
 
         //on se connecte a MYSQL
	$dbb=mysql_connect($hostname_dbb, $username_dbb, $password_dbb) or die('Erreur de connexion ' . mysql_error());
 
		// on sélectionne la base 
	mysql_select_db($database_dbb) or die('Erreur de selection ' . mysql_error());
 
        // on crée la requête SQL
  $requet= 'INSERT INTO paramcom (Code, Marque, Val1, Val2) VALUES ("'.$Code.'", "'.$Marque.'", "'.$Val1.'", "'.$Val2.'")';
 
		// on execute la requete
          $insert_requet=mysql_query($requet)or die('selection echouée' . mysql_error());
 
         // affichage des données
			if($insert_requet){
				 echo('L\'insertion a été correctement effectuée');
 
	           }
          else
          {
             echo('L\'insertion à échouée');
		  }
	}
     mysql_close();
      }
?>
bedidaquin01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h39.


 
 
 
 
Partenaires

Hébergement Web