probleme update

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 : probleme update

Re: probleme update

par Invité » 29 nov. 2013, 22:32

Mais merci encore pour vos conseille je vais en tenir compte pour les prochains probleme

Re: probleme update

par Invité » 29 nov. 2013, 22:23

Je vous remerci en faite le seule erreur c que j'ai mis un echo dans le input c'est pour sa qu'on pouvais pas écrire autre chse donc la requête ne fonctionnait pas bien, ayant tester plusieurs pour trouver une solution j'ai fini par trouver la réponse

Re: probleme update

par Anacronox » 28 nov. 2013, 15:29

pour voir les erreurs fait
print_r($mysqli->error);
et moogli a raison ta requête sql est sensible aux injections sql et en sql le délimiter de chaîne de caractère c'est l'apostrophe et non le guillemet

autre chose, toujours vérifier que les données envoyées par l'internautes sont conforme. Dans le cas contraire il est préférable de ne rien faire et d'envoyer un message a l'internaute.

$ville_nom = $mysqli->real_escape_string($ville_nom); // protection injection 
$ville_texte = $mysqli->real_escape_string($ville_texte);// protection injection 

//si ID de ville est un entier, je te conseil :
$ville_id=intval($ville_id);// on force $ville_id pour etre un entier (attention tout de même  : voir ma phrase sur "données envoyées" )
// sinon :
$ville_id= $mysqli->real_escape_string($ville_id);// protection injection 

if($mysqli -> query(' UPTATE `NOM_DE_LA_BASE`.`projet_ville` SET `ville_nom` =  \'' .$ville_nom.'\' , `ville_texte` = \''.$ville_texte.'\' WHERE `ville_id` =\''.$ville_id.'\' ;'))
{
 /* ton code */
}

Re: probleme update

par Invité » 27 nov. 2013, 19:03

Quand je fais print_r($error); il y'a marqué un zero qu'est que sa veut dire?

Re: probleme update

par moogli » 24 nov. 2013, 15:32

Salut,

Cela veux dire la requête ce passe mal.
Tu aura plus d'infos avec mysqli::error a ajouter dans le message d'erreur (au moins pur le temps du debug).

Ta requête sql est sensible aux injections sql (plus d'info en km demandant à Google).
En sql le délimiteur de chaîne de caractère c'est l'apostrophe et non le guillemet ;)


@+

probleme update

par war589 » 23 nov. 2013, 16:43

Bonjour

J'ai écrit un programme avec update.php et j'ai un gros probleme mon programme affiche que la mise a jour n'a pas été effectuer et je ne comprend pas pourquoi
<html>


<head>



</head>


<body>
<?php
$mysqli = new mysqli('localhost', 'root', '', 'projet_ville_site');
if (isset($_POST['submite']))
{
$ville_nom = $_POST['ville_nom'];

$ville_texte = $_POST['ville_texte'];
$ville_id = $_POST['ville_id'];

if ((empty($ville_nom)) OR empty($ville_texte))

{
$message = '<p class="error"> Le contenue est vide</p>';
}

else 
{
if ($mysqli -> query('UPTATE projet_ville SET ville_nom ="' .$ville_nom.'" , ville_texte ="' .$ville_texte.'" WHERE ville_id ='.$ville_id))
{
$message = '<p class="message"> la mise a jour de la ville est'.$ville_nom. ' </p>';
}

else{
$message ='<p class="error"> la mise a jour  '.$ville_nom.' n a pas ete effectue </p>';
}


}
}

$id = $_GET['id'];

$result = $mysqli-> query('SELECT ville_id, ville_nom, ville_texte FROM projet_ville WHERE ville_id='.$id);

$row = $result-> fetch_array();

$ville_nom = $row['ville_nom'];
$ville_texte = $row['ville_texte'];


?>
<h1>ajouter une ville</h1>
<?php if (isset($message)) echo $message ?>
<form method="post">
<input type="text" name="ville_nom" value="<?php echo $ville_nom?>"/></input>
<textarea name="ville_texte"> <?php echo $ville_texte?></textarea>
<input type="hidden" name="ville_id" value="<?php echo $id?>"/>
<input type="submit" name="submite"></input>

</form>
</body>



</html>