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 :

Undefined index: ..


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2012
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2012
    Messages : 285
    Points : 54
    Points
    54
    Par défaut Undefined index: ..
    bonjour,
    est ce que quelqu'un a une idée sur laquelle mon fichier m'affiche cette erreur ? :

    Nom : update_fields.png
Affichages : 159
Taille : 27,2 Ko

    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
     
    		<main>
     
    				<h1>User</h1>
    				<?php 
    					regex($_POST);
    					// $users = getUser();
    					if ($_POST["button"] == "modifier"):?>
     
    						<?php  
    						$reponse = $db->query('SELECT * FROM user WHERE id='.$_GET["id"]);
     
    						//while ($donnees = $reponse->fetch()):  
    						foreach ($reponse as $key => $value): ?>
    							<form method="POST" action="confirm_update?id=<?=$value["id"];?>">
    								<label for="prenom">Prénom</label>
    								<input class="<?=isset($ERRORS["prenom"])?'error':'';?>" id="prenom" type="text" name="prenom" 
    									value="<?php echo ($value['prenom']) ?>" required>
    								<br>
    								<br>
    								<label for="email">Adresse Mail</label>
    								<input class="<?=isset($ERRORS["email"])?'error':'';?>" id="email" type="email" name="email" 
    									value="<?php echo ($value['email']) ?>" required>
    								<br>
    								<br>
    								<label for="phone">Numéro de téléphone</label>
    								<input class="<?=isset($ERRORS["mobile"])?'error':'';?>" id="mobile" type="tel" name="mobile" 
    									value="<?php echo ($value['mobile']) ?>" required>
    								<br>
    								<br>
    								<p>* Tous les champs sont requis.</p>
    								<input type="submit" value="Mettre à jour">
    							</form>	
     
     
     
    						<?php endforeach; ?> 
    			<?php else:
    						// $db->exec("DELETE FROM user WHERE id=".$_GET["id"]);
    						echo "<p>L'utilisateur est supprimé<br>vous allez être redirigé</p>";
    						// header("Refresh:3; url=".$_SERVER["HTTP_REFERER"]);
     
    			endif;?>
    			</main>

    mon fichier pour confirmer mon update :


    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
     
    	<section>
    					<?php   if(!empty($ERRORS)):?>
     						<?php 
     						 	//prenom: 
    							$prenom     = $_POST["prenom"] ;
    							//email:
    							$email = $_POST["email"] ;
    							//mobile:
    							$mobile = $_POST["mobile"] ;
     
    						  	$db->exec("UPDATE user set prenom=".$prenom ." email=".$email." mobile=".$mobile . "WHERE id=".$_GET["id"]);
    							echo "<p>L'utilisateur est bien modifié </p>" 
    						 ?>
     
    						 <?php  else:
    							$db->exec("DELETE FROM user WHERE id=".$_GET["id"]);
    							echo "<p>L'utilisateur est supprimé<br>vous allez être redirigé</p>";
    							// header("Refresh:3; url=".$_SERVER["HTTP_REFERER"]);
    						?>	
    					<?php endif; ?>
    		</section>
    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu lances la requête UPDATE sans vérifier si tu as reçu les données $_POST.
    Utilise isset().
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Kezako ??

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    						$reponse = $db->query('SELECT * FROM user WHERE id= "'.$_GET["id"].'"');
    ...
    						  $db->exec("UPDATE user set prenom=".$prenom ." email=".$email." mobile=".$mobile . "WHERE id=".$_GET["id"]);
    Des données "externes" directement dans les requête : eh bêh, tu n'as peur de rien...
    As-tu entendu parlé d'"injection SQL" ? de "requête préparée" ?


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    						$prenom     = $_POST["prenom"] ;
    						//prenom:
    						$email = $_POST["email"] ;
    						//adresse:
    						$mobile = $_POST["mobile"] ;
    A l'ouverture de page, le formulaire n'est pas encore soumis : $_POST est vide.
    D'où les erreurs...
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    						$prenom     = ( isset($_POST["prenom"]) )? $_POST["prenom"] : '';
    						//prenom:
    						$email = ( isset($_POST["email"]) )? $_POST["email"] : '';
    						//adresse:
    						$mobile = ( isset($_POST["mobile"]) )? $_POST["mobile"] : '';
    Ensuite, il est bon de faire une GESTION d'ERREURS (champs obligatoires, validité email,...) avant d'enregistrer en Bdd.

    Enfin (?), la partie "TRAITEMENT" est à mettre AVANT le FORMULAIRE (dans le code), pour pouvoir ré-afficher dedans les données reçues.

  4. #4
    Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2012
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2012
    Messages : 285
    Points : 54
    Points
    54
    Par défaut
    j'ai modifié mon code tu peux regarder

Discussions similaires

  1. erreur undefined index
    Par istreen dans le forum Langage
    Réponses: 8
    Dernier message: 06/01/2006, 13h09
  2. [Librairies] PHPMVC : Undefined index
    Par Benat64 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 30/12/2005, 09h27
  3. [Noob] Undefined index: id
    Par Devil666 dans le forum Langage
    Réponses: 4
    Dernier message: 08/12/2005, 13h00
  4. Undefined index
    Par sebduduf dans le forum Langage
    Réponses: 5
    Dernier message: 02/11/2005, 12h13
  5. Erreur de "Undefined index" sur HTTP_REFERER
    Par guy2004 dans le forum Langage
    Réponses: 4
    Dernier message: 12/10/2005, 12h21

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