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 :

mise à jour de champs par passage de paramètre [MySQL]


Sujet :

PHP & Base de données

  1. #21
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 50
    Points : 12
    Points
    12
    Par défaut
    ok je tente sans le hidden...
    par contre t'as rajouté ca:

    if(isset($_POST['titre_donnee']))
    {
    et un

    else {
    print "<li>Vous n'avez pas pre'cise' le titre</li>\n";
    }
    }

    mais je comprend pas du coup ya deux else qui s'enchaine dans ton code si tu regardes bien... sans else if entre.. bref je sais pas comment le réécrire ce que tu m'as rajouté...

  2. #22
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    L'indentation n'est pas très visible là mais ces deux else ne sont pas au même niveau.

  3. #23
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 50
    Points : 12
    Points
    12
    Par défaut
    j'ai mis ça:
    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
     
    if(isset($_POST['envoyer1']))
    {
    	if(isset($_POST['titre_donnee']))
    	{ 
     
    		$titre_donnee = $_POST['titre_donnee'];
    		$titre_donnee=addslashes($titre_donnee) ;
    		//$salut2 = $_POST['id'];
    		if ($titre_donnee == '') // Si le champ "titre" est vide,
    			{	print "<li>Vous n'avez pas précisé le titre</li>\n";	
    ?>
    		<form method="POST" > 
    		<label>Titre de la donnée : <input type="text" name="titre_donnee" size="100" value="<?echo ($titre_donnee); ?>" maxlength="100"></label> 
    		<input type="submit" value="Envoyer1" name="envoyer1"> 
    		</form> 
    <?		}
    	else
    	{
    		include("connection.php"); //connection à la base
    		$sql2 = "update donnee set  titre_donnee='$titre_donnee' where id_donnee= '$salut' ";
    		$req2= mysql_query($sql2);
    		echo ($sql2);
    		mysql_close($db);
    	}
    }
    else { 
              print "<li>Vous n'avez pas pre'cise' le titre</li>\n"; 
           } 
     
     }
    mais ca n'a rien changé...
    j'ai peut etre pas mis les fin si au bon endroit?

  4. #24
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 50
    Points : 12
    Points
    12
    Par défaut
    en fait c'est pas très dur a tester chez vous (meme si vous devez pas avoir que ça a faire...)
    suffit d'une table avec id_donnee et titre_donnee d'une table donnee et de reprendre mes codes
    sachant que mon but c'est créer un formulaire de modification des plus classiques je pense...

  5. #25
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    comme cela:

    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
     
    include("connection.php"); //connection a` la base
     
    /* On commence par ve'rifier si le bouton "envoyer1"  soumettant le formulaire a e'te'
    clique',  */
    if(isset($_POST['envoyer1'])){
    	if(isset($_POST['titre_donnee'])){
       		$titre_donnee = $_POST['titre_donnee'];
       		$titre_donnee=addslashes($titre_donnee) ;
     
       		if ($titre_donnee == '') // Si le champ "titre" est vide,
       		{
            		print "<li>Vous n'avez pas precise le titre</li>\n";   
       			?>
       			<form action="up.php" method="POST" >
          			<label>Titre de la donne'e : <input type="text" name="titre_donnee" size="100" value="<?echo ($titre_donnee); ?>" maxlength="100"></label>
         			<input type="submit" value="Envoyer" name="envoyer">
       			</form>
       			<?
        		} else {
       			include("connection.php"); //connection a` la base
       			$sql2 = "update donnee set titre_donnee='$titre_donnee' where id_donnee= '$salut' ";
       			$req2= mysql_query($sql2);
       			echo ($sql2);
       			mysql_close($db);
        		}
        	} else {
        		print "<li>Vous n'avez pas precise le titre</li>\n";
        	}
    } else {
    	$salut= $_POST['bonjour']; //correspond a la valeur prise dans la liste deroulante
    	$sql = "select titre_donnee from donnee where id_donnee= '$salut' ";
    	$req= mysql_query($sql);
    	$row=mysql_fetch_array($req);
    	$titre_donnee=$row["titre_donnee"];
    ?>
       <form  action="up.php" method="POST">
          <label>Titre de la donnee : <input type="text" name="titre_donnee" size="100" value="<?echo ($titre_donnee); ?>" maxlength="100"></label>
          <input type="submit" value="Envoyer1" name="envoyer1">
       </form>
    <?}?>

  6. #26
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 50
    Points : 12
    Points
    12
    Par défaut
    si y a quand meme eu un changement désolé...
    - s'il valide de suite ca met message d'erreur
    Notice: Undefined variable: salut in c:\documents and settings\stainf3\bureau\cams\site\up.php on line 22
    update donnee set titre_donnee='valeur_contenu_anciennement_dans_la_base' where id_donnee= ''


    - mais maintenant quand l'utilisateur ne met rien ca lui met bien vous n'avez pas saisi le titre sans message d'erreur php... donc ca c'est bien
    par contre si je rentre une valeur "j" ensuite dans la zone de texte ca met:

    Notice: Undefined variable: salut in c:\documents and settings\stainf3\bureau\cams\site\up.php on line 22
    update donnee set titre_donnee='j' where id_donnee= ''

  7. #27
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Ah......ok je vois ton bleme maintenant.

    effaectivement il faut que tu passe en hidden ton id et ce dans tes deux formulaires de ta page up.php

  8. #28
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 50
    Points : 12
    Points
    12
    Par défaut
    je tente et je te dis...

  9. #29
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 50
    Points : 12
    Points
    12
    Par défaut
    bon là j'ai du mal a comprendre ca me remet le message d'erreur meme s'il n'a rien rentré dans la zone de texte:
    voici le code que j'ai fait avec le hidden...
    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
     
    <?include("connection.php"); //connection à la base 
     
    /* On commence par vérifier si le bouton "envoyer1"  soumettant le formulaire a été 
    cliqué,  */ 
    if(isset($_POST['envoyer1'])) 
     { 
       	if(isset($_POST['titre_donnee']))
    	{
    		$titre_donnee = $_POST['titre_donnee']; 
    		$titre_donnee=addslashes($titre_donnee) ; 
    		$salut2 = $_POST['id']; 
    		if ($titre_donnee == '') // Si le champ "titre" est vide, 
    		{   
    			print "<li>Vous n'avez pas précisé le titre</li>\n";    
    ?> 
    			<form method="POST" > 
    			<label>Titre de la donnée : <input type="text" name="titre_donnee" size="100" value="<?echo ($titre_donnee); ?>" maxlength="100"></label> 
    			<input type="submit" value="Envoyer1" name="envoyer1"> 
    			</form> 
    <? 
    		} 
    		else 
    		{ 
    			include("connection.php"); //connection à la base 
    			$sql2 = "update donnee set  titre_donnee='$titre_donnee' where id_donnee= '$salut2' "; 
    			$req2= mysql_query($sql2); 
    			echo ($sql2); 
    			mysql_close($db); 
    		} 
    	}
    	else 
    	{ 
            print "<li>Vous n'avez pas precise' le titre</li>\n"; 
        } 
    } 
    /* Si cette page s'ouvre pour la première fois sans que le bouton  envoyer1 ait été cliqué */ 
    else 
    { 
    	$salut= $_POST['bonjour']; //correspond a la valeur prise dans la liste deroulante 
    	$sql = "select titre_donnee from donnee where id_donnee= '$salut' "; 
    	$req= mysql_query($sql); 
    	echo ($sql); 
    	$row=mysql_fetch_array($req); 
    	$titre_donnee=$row["titre_donnee"]; 
    ?> 
    	<form method="POST"> 
        <label>Titre de la donnée : <input type="text" name="titre_donnee" size="100" value="<?echo ($titre_donnee); ?>" maxlength="100"></label> 
        <input type="hidden" name="id" value="<?echo ($salut); ?>" /> 
        <input type="submit" value="Envoyer1" name="envoyer1"> 
    	</form> 
    <?
    }
    ?>

  10. #30
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 50
    Points : 12
    Points
    12
    Par défaut
    -s'il valide en écrivant rien: ca maffiche juste
    "Vous n'avez pas précisé le titre"

    -s'il revalide sans mettre de titre, ca met ca :
    Notice: Undefined index: id in c:\documents and settings\stainf3\bureau\cams\site\up.php on line 11
    Vous n'avez pas précisé le titre


    -s'il valide de suite avec une valeur dans la zone de texte, ca marche

    -s'il met rien d'entrée et valide
    ca affiche "Vous n'avez pas précisé le titre" et qu'il valide ensuite avec une valeur ca met Notice: Undefined index: id in c:\documents and settings\stainf3\bureau\cams\site\up.php on line 11
    Vous n'avez pas précisé le titre


    en fait ca tourne en rond...

  11. #31
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    tu n'as pas rajoute le champs hidden avec la valeur de ton id dans le formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
             <form method="POST" >
             <label>Titre de la donnée : <input type="text" name="titre_donnee" size="100" value="<?echo ($titre_donnee); ?>" maxlength="100"></label>
             <input type="submit" value="Envoyer1" name="envoyer1">
             </form>

  12. #32
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 50
    Points : 12
    Points
    12
    Par défaut
    t'es un BOSS 8) ca marche j'ai rajouté:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="id" value="<?echo ($salut2); ?>" />
    putain un merci enorme!!sérieux j'en ai chié tu peux pas savoir!!
    tu m'enlève un poids lol
    NIKEL!!! merci

    c'était de l'algo en fait

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/12/2012, 16h42
  2. [AC-2007] Mise à jour de champs par une liste déroulante
    Par franckimmo dans le forum VBA Access
    Réponses: 8
    Dernier message: 01/02/2010, 17h48
  3. Réponses: 10
    Dernier message: 03/03/2009, 11h46
  4. mise à jour plusierus champs
    Par bachilbouzouk dans le forum ASP
    Réponses: 12
    Dernier message: 28/04/2005, 11h22
  5. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 10h25

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