Probleme avec un script PHP
6 messages
• Page 1 sur 1
- Hicham
- WRInaute discret

- Messages: 81
- Inscription: 5 Jan 2004
Probleme avec un script PHP
Bonsoir
J'ai un tit soucis avec un script PHP masi je ne trouve pas d'ou vient l erreur :
Voila le script consiste a corriger un edito en ligne donc je n ai peut etre pas ete au plus simple mais en gros si on rentre le titre et la "signature" du dernier edito le script fait un update masi le proleme c est que meme si je rentre le bon titre et la bonne signature il me dit que ca n'existe pas
alors si qq peut m aider ca sera cool
voila le script :
je me suis pris la tete dessus toute la journee et la je commence a voir flou ca se trouve c est tout petit truc de rien enfin j'espere
d'avance merci
Hicham
J'ai un tit soucis avec un script PHP masi je ne trouve pas d'ou vient l erreur :
Voila le script consiste a corriger un edito en ligne donc je n ai peut etre pas ete au plus simple mais en gros si on rentre le titre et la "signature" du dernier edito le script fait un update masi le proleme c est que meme si je rentre le bon titre et la bonne signature il me dit que ca n'existe pas
- Code: Tout sélectionner
<?
$titre_page = "ADMINISTRATION SU SITE ****";
include ('modele/entete.inc.php');
if (isset($_POST['submit']))
{
function echappement ($data)
{
global $bd;
if (ini_get('magic_quotes_gpc'))
{
$data = stripslashes($data);
}
return mysql_escape_string($data);
}
require_once ('modele/mysql_connect.php');
$message = NULL;
if (empty($_POST['titre']))
{
$T = FALSE;
$message .= '<p>le titre est vide...</p>';
}
else
{
$T = echappement ($_POST['titre']);
}
if (empty($_POST['edito']))
{
$E = FALSE;
$message .= '<p>Tu as oulié ton édito ...</p>';
}
else
{
$E = echappement ($_POST['edito']);
}
if (empty($_POST['signature']))
{
$S = FALSE;
$message .= '<p>Tu as oublié de signer ton édito ...</p>';
}
else
{
$S = echappement ($_POST['signature']);
}
if ($T && $E && $S)
{
$rq = "SELECT titre FROM edito_tb
WHERE (titre= '$T' AND signature='$S')";
$result = mysql_query($rq);
if ($nb == 1)
{
$ligne = mysql_fetch_array($result, MYSQL_NUM);
$rq = "UPDATE edito_tb SET edito=('$E') WHERE signature=$ligne[3]";
$result = mysql_query($rq);
if (mysql_affected_rows() == 1)
{
echo "<p>Ton édito vient d'étre modifié.</p>";
include ('pied_page.inc.php');
exit();
}
else
{
$message .="<p> Ton édito n\'a pas pu étre modifié il y a une erreur système : <p></p>" . mysql_error()."<p></p>";
}
}
else
{
$message .="<p>Ta signature et le titre de l'édito ne correspondent pas à ceux dejà enregistrés.</p>";
}
mysql_close();
}
else
{
$message .= '<p> il faut recommencer</p>';
}
}
if(isset($message))
{
echo "$message";
}
?>
je me suis pris la tete dessus toute la journee et la je commence a voir flou ca se trouve c est tout petit truc de rien enfin j'espere
d'avance merci
Hicham
- Hicham
- WRInaute discret

- Messages: 81
- Inscription: 5 Jan 2004
nouveau probleme avec mon script que j'ai pas mal modifié, donc comme j'ai deja expliqué la fonction de ce script est de pouvoir modifier un edito donc je reprends 2 varibales (titre et signature) et je verifie si elles existent si oui alors je update ma base masi le probleme c'est que pour je ne sais quel raison il n update pas et le pire c est que je n'ai pas de message d'erreur precis de mysql alors du coup j'ai du mal a trouver l erreur si quelqu un peux jeter un coup d oeil au script car j ai tellement passer de temps dessus que maintenant je suis incapable de voir s il y a erreur ou pas meme si elle est flagrante :
Merci d'avance
Hicham
- Code: Tout sélectionner
<?
$titre_page = "ADMINISTRATION SU SITE ****";
include ('modele/entete.inc.php');
if (isset($_POST['submit']))
{
function echappement ($data)
{
global $bd;
if (ini_get('magic_quotes_gpc'))
{
$data = stripslashes($data);
}
return mysql_escape_string($data);
}
require_once ('modele/mysql_connect.php');
$message = NULL;
if (empty($_POST['titre']))
{
$T = FALSE;
$message .= '<p>tu as oublié le titre de ton édito ...</p>';
}
else
{
$T = echappement ($_POST['titre']);
}
if (empty($_POST['edito']))
{
$E = FALSE;
$message .= '<p>Tu as oulié ton édito ...</p>';
}
else
{
$E = echappement ($_POST['edito']);
}
if (empty($_POST['signature']))
{
$S = FALSE;
$message .= '<p>Tu as oublié de signer ton édito ...</p>';
}
else
{
$S = echappement ($_POST['signature']);
}
if ($T && $E && $S)
{
$rq = "SELECT titre FROM edito_tb WHERE (titre= '".$T."' AND signature='".$S."')";
$result = mysql_query($rq);
$nb = mysql_num_rows($result);
if ($nb == 1)
{
$ligne = mysql_fetch_array($result, MYSQL_NUM);
$rq = "UPDATE edito_tb SET edito='$E' WHERE signature='". $S ."'";
$result = mysql_query($rq) or die(mysql_error().'<br>'.$rq);
if (mysql_affected_rows() == 1)
{
echo "<p>Ton édito vient d'étre modifié.</p>";
include ('pied_page.inc.php');
exit();
}
else
{
$message .="<p> Ton édito n'a pas pu étre modifié il y a une erreur système : <p></p>" . mysql_error()."<p></p>";
}
}
else
{
$message .="<p>Ta signature et le titre de l'édito ne correspondent pas à ceux dejà enregistrés.</p>";
}
mysql_close();
}
else
{
$message .= '<p> il faut recommencer</p>';
}
}
if(isset($message))
{
echo "$message";
echo "$rq";
}
?>
Merci d'avance
Hicham
- fbparis
- WRInaute impliqué

- Messages: 685
- Inscription: 1 Fév 2005
C'est pas trs propre ton truc hein
Deja, je vois que tu identifies toujours un article par son titre et sa signature, mais pour l'update tu ne prends que la signature, ca veut dire que si ca marche, tous les articles signes de la meme personne vont etre remplaces par le nouveau contenu ; je ne pense pas que ce soit le but souhaite..
je t'encourage vivement a assigner un identifiant unique a tes articles, ca simplifiera un peu je pense
Pour le reste j'ai regarde en vitesse, je ne sais pas trop, je dirais qu'il y a peut etre un probleme d'echappement (tu as essaye de faire des updates simples, sans ' ni " dans le contenu et la signature pour voir si ca marche ?
Par ailleurs, si tu retapes un contenu identique pour ton edito, rien ne sera modifie et mysql_affected_rows retournera 0.
Deja, je vois que tu identifies toujours un article par son titre et sa signature, mais pour l'update tu ne prends que la signature, ca veut dire que si ca marche, tous les articles signes de la meme personne vont etre remplaces par le nouveau contenu ; je ne pense pas que ce soit le but souhaite..
je t'encourage vivement a assigner un identifiant unique a tes articles, ca simplifiera un peu je pense
Pour le reste j'ai regarde en vitesse, je ne sais pas trop, je dirais qu'il y a peut etre un probleme d'echappement (tu as essaye de faire des updates simples, sans ' ni " dans le contenu et la signature pour voir si ca marche ?
Par ailleurs, si tu retapes un contenu identique pour ton edito, rien ne sera modifie et mysql_affected_rows retournera 0.
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- [ Script PHP ] Problème de connexion (session php)
- Script PHP : Problème de mémoire
- [PHP] Problème avec script
- Probleme script php&js
- [script] probleme confirm() javascript+ PHP
- Problème appel script bash depuis php
- Problème de fonctionnement de script PHP apres migration
- Problème php - Fonction die, arret de script
- [Résolu] XHMTL 1.0 Strict et script php problème de <br&g
- Comment lancer un script php à parrtir d'un autre script php ?
- Google Chrome dépasse Safari aux USA - 29-06-2010
- Les albums web Picasa passent à 1 Go de stockage - 08-03-2007
- Photos satellite des incendies en Grèce dans Google Earth - 30-08-2007
- Ajouter un Gadget Google sur son site - 04-10-2006
- Google Desktop pour Mac OS X - 05-04-2007
- Picasa Web Albums en français - 08-12-2006
- AdSense Tracking : statistiques détaillées sur les clics AdSense - 29-02-2004
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits - 28-03-2007
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
