Mise à jours tables

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Mise à jours tables

Re: Mise à jours tables

par Darkangel » 18 févr. 2014, 14:56

J'ai bien mis cette ligne :
if (isset($_GET['plus'])&&(!empty($_POST['valider'])))
Et dans mon formulaire il y à bien le post :
<form method="POST" enctype="multipart/form-data">
<tr>
<td><?php echo $data['ref'] ?></td><td><?php echo $data['stock'] ?></td><td><p><br /><input type='text' name='ref'/></p></td></form><td><?php echo '<a href="ajust_stock.php?plus=' . $data['rowid'] . '">'; ?><input name='valider' type='submit' value='Valider' /></a></td></form>
</tr>

Re: Mise à jours tables

par damien_55 » 17 févr. 2014, 13:42

1/ Tu es sur que tes variables sont bien postées ?

2/ (undefined index valider) ça veut dire que l'array $_POST ne possède pas de clé (index) 'valider' dans sa liste.

il faut que tu verifie la presence.
if (isset($_GET['plus'])&&(!empty($_POST['valider'])))
qui va verifier si cette variabe existe et n'est pas nulle.

Re: Mise à jours tables

par Darkangel » 17 févr. 2014, 13:09

Quelqu'un aurai une idée?

Merci d'avance..

Re: Mise à jours tables

par Darkangel » 15 févr. 2014, 21:47

Oui et toujours la même erreur.

Re: Mise à jours tables

par damien_55 » 15 févr. 2014, 17:49

tu as remplacer ça aussi:
mysql_query(" UPDATE llx_product SET stock='".$p1."' WHERE rowid='".$_GET['plus']."'  ");

Re: Mise à jours tables

par Darkangel » 15 févr. 2014, 17:29

Merci de ta réponse,

Dans les faits cette dernières
//on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
   $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
Ne sers à rien.

Après modification j'obtiens toujours l'erreur : Notice: Undefined index: valider in C:\wamp\www\DEV\stock\ajust_stock.php on line 58 la ligne 58 étant
if (isset($_GET['plus'])&&($_POST['valider']))
Je suis un peu perdu

Merci

Re: Mise à jours tables

par damien_55 » 15 févr. 2014, 14:34

Je reviens sur ta page: Page de modification ajust_stock.php :

A quoi sert cette requete ? au fond, tu fais cette requete mais tu ne traites pas le resultat, pas d'affichage lié. Je ne vois pas son utilité.
// Requete   
   $sql = "SELECT rowid, ref FROM llx_product" ; 
 
//on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)   
   $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

Re: Mise à jours tables

par damien_55 » 15 févr. 2014, 14:29

Slt,

Dans ta page Page de demande *plus.php, tu as:
<?php echo '<a href="ajust_stock.php?plus=' . $data['rowid'] . '">'; ?><input name='valider' type='submit' value='Valider' /></a>
Ok tu vas modifier les données correspondant à l'id $data['rowid'].

Mais je lis dans Page de modification ajust_stock.php :
$sql = "SELECT rowid, ref FROM llx_product" ; 
il n'y pas de la variable qui fixe sur quelle id tu travailles. je mettrai aussi un LIMIT 1.

Ta requete update:
 mysql_query(" UPDATE llx_product SET stock='".$p1."' WHERE rowid='".$_GET['plus']."'  ");

Mise à jours tables

par Darkangel » 15 févr. 2014, 14:01

Bonjour,

J'ai besoin de mettre à jour une valeurs dans une table php via un post en respectant l'id.

Mon post à l'air de bien ce faire l'id de l'article est bien récupéré mais rien ne ce passe j'ai chercher pendant plusieurs heures sans rien trouvé?

Pourriez-vous m'aider ?

Page de demande *plus.php :
<?php

$host = 'localhost:3307';
$user = 'root';
$pass = '';
$db = 'fact';

// connection à la DB
mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

$retour = mysql_query('SELECT * FROM llx_product');
while ($data = mysql_fetch_array($retour)) // On fait une boucle pour lister les informations à afficher
{
?>
<form method="POST" enctype="multipart/form-data">
<tr>
<td><?php echo $data['ref'] ?></td><td><?php echo $data['stock'] ?></td><td><p><br /><input type='text' name='ref'/></p></td></form><td><?php echo '<a href="ajust_stock.php?plus=' . $data['rowid'] . '">'; ?><input name='valider' type='submit' value='Valider' /></a></td></form>
</tr>


<?php
} // Fin de la boucle!! 
       ?>
Page de modification ajust_stock.php :
<?php

$host = 'localhost:3307';
$user = 'root';
$pass = '';
$db = 'fact';

// connection à la DB
mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

// Requete   
   $sql = "SELECT rowid, ref FROM llx_product" ; 
 
//on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)   
   $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

//Affichage tableau et Gestion de la suppression:
if (isset($_GET['plus'])&&($_POST['valider']))
{

    // Protection de la variable "ID" pour éviter une faille SQL
    $_GET['plus'] = addslashes($_GET['plus']);
	$p1 = $_POST['ref'];
	mysql_query('UPDATE llx_product SET stock=$p1 WHERE rowid=\'' . $_GET['plus'] . '\'');

}
?>
<table width='80%' border='1' align='center' bordercolor='#3399CC' summary=''><tr>
<th>ref</th>
<th>Supprimer</th>
<th>En stock</th>
<th>ajustement</th>
</tr>
</tr>
<?php
include ('plus.php');
?>