par
sadeq » 09 déc. 2005, 10:21
Bon, prenons les choses en main et reprenons depuis le début.
Dans ton script d'origine, on a déjà relevé des bizareries que tu n'as pas encore expliqué :
En effet, les variables sess_id, actualite et verification n'ont aucune origine connue.
Une variable reste formcement vide si tu ne lui affecte pas une valeur. Dans notre cas les valeurs de sess_id, actualite et verification doivent (je le présume) provenir de sources externes au programme comme $_SESSION si l'origine est la session, $POST ou $_GET si l'origine est un formulaire HTML ou un paramètre passé dans l'URL.
Voici une proposition de correction qui suppose que sess_id et $actualite proviennent de paramètres passés dans l'URL ou d'un formulaire en mode GET.
Quant à la variable $verification, je ne peux me prononcer.
Pour exécuter ce code tapez l'URL : http ://le_site_web/nom_de_la_page.php
?sess_id=1
&actualite=blabla
C'est à dire qu'on vient de démarrer le programme en lui passant deux valeurs : 1 pour sess_id et "blabla" pour actualite
<?
session_start();
//Récupèrer les valeurs externes (ici elles sont passées par la méthode GET dans l'URL)
$sess_id = $_GET["sess_id"];
$actualite = $_GET["actualite"];
include_once("../../config/conf.inc.php");
if (!isset($sess_id)){
echo " <script language='JavaScript'>
document.location.replace('$verification');
</script>";
}
//sécurisation du système --> On empeche
l'insertion de tags html
$actualite=strip_tags($actualite);
//construction de la query SQL
$sql = "UPDATE membres SET actualite='$actualite', last_modif=now() WHERE id='$sess_id' ";
//echo $sql;
$base = new class_db($sql);
$base->free();
//redirection sur la loge
echo "<script language='JavaScript'>
document.location.replace('./../tableau.php');
</script>";
?>
Voici pour les erreurs de formalisme PHP, mais fait attention, si la valeur de $sess_id que tu passe à ton programme ne correspond à aucun enregistrement dans la table membre, le UPDATE ne fait rien. Ce qui est normal.
Bon, prenons les choses en main et reprenons depuis le début.
Dans ton script d'origine, on a déjà relevé des bizareries que tu n'as pas encore expliqué :
En effet, les variables sess_id, actualite et verification n'ont aucune origine connue.
Une variable reste formcement vide si tu ne lui affecte pas une valeur. Dans notre cas les valeurs de sess_id, actualite et verification doivent (je le présume) provenir de sources externes au programme comme $_SESSION si l'origine est la session, $POST ou $_GET si l'origine est un formulaire HTML ou un paramètre passé dans l'URL.
Voici une proposition de correction qui suppose que sess_id et $actualite proviennent de paramètres passés dans l'URL ou d'un formulaire en mode GET.
Quant à la variable $verification, je ne peux me prononcer.
Pour exécuter ce code tapez l'URL : http ://le_site_web/nom_de_la_page.php[b]?[/b]sess_id=1[b]&[/b]actualite=blabla
C'est à dire qu'on vient de démarrer le programme en lui passant deux valeurs : 1 pour sess_id et "blabla" pour actualite
[php]<?
session_start();
//Récupèrer les valeurs externes (ici elles sont passées par la méthode GET dans l'URL)
$sess_id = $_GET["sess_id"];
$actualite = $_GET["actualite"];
include_once("../../config/conf.inc.php");
if (!isset($sess_id)){
echo " <script language='JavaScript'>
document.location.replace('$verification');
</script>";
}
//sécurisation du système --> On empeche
l'insertion de tags html
$actualite=strip_tags($actualite);
//construction de la query SQL
$sql = "UPDATE membres SET actualite='$actualite', last_modif=now() WHERE id='$sess_id' ";
//echo $sql;
$base = new class_db($sql);
$base->free();
//redirection sur la loge
echo "<script language='JavaScript'>
document.location.replace('./../tableau.php');
</script>";
?>
[/php]
Voici pour les erreurs de formalisme PHP, mais fait attention, si la valeur de $sess_id que tu passe à ton programme ne correspond à aucun enregistrement dans la table membre, le UPDATE ne fait rien. Ce qui est normal.