Débutant en php j ai récupérer se script qui enregistre les formulaire rempli en fichier txt
Il fonctionne tres bien quand je suis sur une page toute simple mais quand je suis sur une page du syle
***/histoire/index.php
?voir=blabla (etant le resultat de $filenames plus haut dans la page)
le probleme c est qui me redirige vers ***/histoire/index.php se qui provoque donc une erreur car il faut obligatoirement une var $voir et en plus il ne m enregistre pas le com dans le fichier txt or que dans la page blabla toutes simple cela fonctionne
<?php
if(file_exists ( 'fichier/commentaire/'.$filenames.'.txt' ))
{}
else {fopen('fichier/commentaire/'.$filenames.'.txt', 'w');
fclose('fichier/commentaire/'.$filenames.'.txt');}
$debug = 1; //0=off / 1=on
$notification_mail = 0; //0=non / 1=oui
$adresse_mail = "[email protected]";
$provenance_mail = "From: [email protected]";
//****
//Main
//****
//Récupère le commentaire
@$commentaire = $_POST['commentaire'];
@$site=$_POST['site'];
//Extrait le nom de la page et l'utilise pour le nom du fichier de sauvegarde en ".txt"
$path = 'fichier/commentaire/'.$filenames.'.txt';
if($debug == 1)
echo Affiche_commentaires($path);
//Gestion du cookies
if(!isset($pseudo))
{
@$pseudo = $_POST['pseudo'];
if($pseudo == "")$pseudo = "Anonyme";
if($debug == 1)
;
}
else
if($debug == 1)
echo "<br /><br />Cookies actifs pseudo = <br /><br />".$pseudo;
//Enregistre et affiche les commentaires
if(isset($_POST['submit']))
save_comment($path,$pseudo,$site,$commentaire);
else
//Affiche les commentaires
if(file_exists($path))
;
//Affichage du formulaire
echo '
<form enctype="multipart/form-data" name="comment_form" action="'.$_SERVER['PHP_SELF'].'" method="POST">[color=#BF0000]//--------------------------le probleme je pense qui vien d ici-----------------------------------------------------------------[/color]
<br />Votre Pseudo<br />
<input name="pseudo" type="text" value="'.$pseudo.'" size="20" >
<br />Site internet<br />
<input name="site" type="text" value="http://" size="40" >
<br />Ajouter votre commentaire ici:<br />
<textarea name="commentaire" cols="70" rows="5"></textarea><br />
<input type="submit" name="submit" value="Envoyer le commentaire" />
<br /><br />
</form>
';
//*********
//Fonctions
//*********
function affiche_commentaires($path)
{
global $debug;
if($debug == 1)
echo "<br /><br />Affichage des commentaires<br />";
$handletmp = fopen($path,"r");
$tableau_content = file($path);
fclose($handletmp);
//Affichage des commmentaires
//***************************
// boucle sur tous les elements
$HTML = '<style>.font_tableau{color: black; font-size: 10pt;}</style><br /><br />';
$HTML .= '<center><table background="../Astronova/images/post2.png" border=0 cellspacing="0" width="550">';
$HTML .= '<tr><td align="center" "><b>les commentaires</b></td></tr>';
for($i=0; $i < count($tableau_content); $i++)
{
if($i%2==0)
{
$HTML .= '<tr><td class="font_tableau" valign="center" align="left" >';
$HTML .= $tableau_content[$i].'</td></tr>';
}
else
{
$HTML .= '<tr><td border=0 class="font_tableau" valign="center" align="left">';
$HTML .= $tableau_content[$i].'</td></tr>';
}
}
$HTML .= '</table></center>';
return $HTML;
}
function save_comment($path,$pseudo,$site,$commentaire)
{
//Enregistrement du commentaire
//*****************************
global $debug;
global $notification_mail;
if($debug == 1)
;
global $adresse_mail;
global $provenance_mail;
if(file_exists($path))
{
$handle = fopen($path,"r");
$tableau_content = file($path);
fclose($handle);
}
//remplace le retour à la ligne par <br /> et le \' par '
@$site=eregi_replace("\r\n","<br />",$site);
@$site=eregi_replace("\\\'","'",$site);
@$commentaire=eregi_replace("\r\n","<br />",$commentaire);
@$commentaire=eregi_replace("\\\'","'",$commentaire);
if(($commentaire != "")&&(($commentaire . "\r\n") != $tableau_content[count($tableau_content)-1]))
{
$handle = fopen($path,"w");
for($i=0;$i < count($tableau_content); $i++)
{
if(($tableau_content[$i] != "")&&($tableau_content[$i] != "\r\n"))
fwrite($handle,$tableau_content[$i]);
}
$str_out = '<br /><img src="../Astronova/images/commentaireseparation.png" /><br /><span class="pseudo">'.$pseudo.'</span><span class="date_post"> à ecrit le '.date('d.m.y à H:i:s').'</span> '."\r\n".'<span class="site_post">'.$site.'</span>'."\r\n".'<span class="commentaire_post">'.$commentaire.'</span>'."\r\n";
fwrite($handle,$str_out);
fclose($handle);
if($notification_mail == 1)
{
$message = $pseudo." le ".date('d.m.y à H:i:s')."\r\n".$commentaire."\r\nhttp://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];[color=#BF0000]//-------------------------------------ou alors d ici --------------------------------------------------------------------[/color]
@mail($adresse_mail,"Nouveau commentaire de ".$pseudo,$message,$provenance_mail);
}
}
else
{
if($debug == 1)
echo "<br /><br />Commentaire vide ou redondant!!!<br />";
}
echo "<script>window.location.replace(\"index.php?voir=blabla\")</script>"; \\ ici sera mis voir=$filenames
}
?>
j ai mis des annotation dans le fichier d'ou je pense que le prbleme vient pour nous aidez merci a vous
Débutant en php j ai récupérer se script qui enregistre les formulaire rempli en fichier txt
Il fonctionne tres bien quand je suis sur une page toute simple mais quand je suis sur une page du syle
***/histoire/index.php[color=#FF0000]?voir=blabla[/color] (etant le resultat de $filenames plus haut dans la page)
le probleme c est qui me redirige vers ***/histoire/index.php se qui provoque donc une erreur car il faut obligatoirement une var $voir et en plus il ne m enregistre pas le com dans le fichier txt or que dans la page blabla toutes simple cela fonctionne
[php]<?php
if(file_exists ( 'fichier/commentaire/'.$filenames.'.txt' ))
{}
else {fopen('fichier/commentaire/'.$filenames.'.txt', 'w');
fclose('fichier/commentaire/'.$filenames.'.txt');}
$debug = 1; //0=off / 1=on
$notification_mail = 0; //0=non / 1=oui
$adresse_mail = "
[email protected]";
$provenance_mail = "From:
[email protected]";
//****
//Main
//****
//Récupère le commentaire
@$commentaire = $_POST['commentaire'];
@$site=$_POST['site'];
//Extrait le nom de la page et l'utilise pour le nom du fichier de sauvegarde en ".txt"
$path = 'fichier/commentaire/'.$filenames.'.txt';
if($debug == 1)
echo Affiche_commentaires($path);
//Gestion du cookies
if(!isset($pseudo))
{
@$pseudo = $_POST['pseudo'];
if($pseudo == "")$pseudo = "Anonyme";
if($debug == 1)
;
}
else
if($debug == 1)
echo "<br /><br />Cookies actifs pseudo = <br /><br />".$pseudo;
//Enregistre et affiche les commentaires
if(isset($_POST['submit']))
save_comment($path,$pseudo,$site,$commentaire);
else
//Affiche les commentaires
if(file_exists($path))
;
//Affichage du formulaire
echo '
<form enctype="multipart/form-data" name="comment_form" action="'.$_SERVER['PHP_SELF'].'" method="POST">[color=#BF0000]//--------------------------le probleme je pense qui vien d ici-----------------------------------------------------------------[/color]
<br />Votre Pseudo<br />
<input name="pseudo" type="text" value="'.$pseudo.'" size="20" >
<br />Site internet<br />
<input name="site" type="text" value="http://" size="40" >
<br />Ajouter votre commentaire ici:<br />
<textarea name="commentaire" cols="70" rows="5"></textarea><br />
<input type="submit" name="submit" value="Envoyer le commentaire" />
<br /><br />
</form>
';
//*********
//Fonctions
//*********
function affiche_commentaires($path)
{
global $debug;
if($debug == 1)
echo "<br /><br />Affichage des commentaires<br />";
$handletmp = fopen($path,"r");
$tableau_content = file($path);
fclose($handletmp);
//Affichage des commmentaires
//***************************
// boucle sur tous les elements
$HTML = '<style>.font_tableau{color: black; font-size: 10pt;}</style><br /><br />';
$HTML .= '<center><table background="../Astronova/images/post2.png" border=0 cellspacing="0" width="550">';
$HTML .= '<tr><td align="center" "><b>les commentaires</b></td></tr>';
for($i=0; $i < count($tableau_content); $i++)
{
if($i%2==0)
{
$HTML .= '<tr><td class="font_tableau" valign="center" align="left" >';
$HTML .= $tableau_content[$i].'</td></tr>';
}
else
{
$HTML .= '<tr><td border=0 class="font_tableau" valign="center" align="left">';
$HTML .= $tableau_content[$i].'</td></tr>';
}
}
$HTML .= '</table></center>';
return $HTML;
}
function save_comment($path,$pseudo,$site,$commentaire)
{
//Enregistrement du commentaire
//*****************************
global $debug;
global $notification_mail;
if($debug == 1)
;
global $adresse_mail;
global $provenance_mail;
if(file_exists($path))
{
$handle = fopen($path,"r");
$tableau_content = file($path);
fclose($handle);
}
//remplace le retour à la ligne par <br /> et le \' par '
@$site=eregi_replace("\r\n","<br />",$site);
@$site=eregi_replace("\\\'","'",$site);
@$commentaire=eregi_replace("\r\n","<br />",$commentaire);
@$commentaire=eregi_replace("\\\'","'",$commentaire);
if(($commentaire != "")&&(($commentaire . "\r\n") != $tableau_content[count($tableau_content)-1]))
{
$handle = fopen($path,"w");
for($i=0;$i < count($tableau_content); $i++)
{
if(($tableau_content[$i] != "")&&($tableau_content[$i] != "\r\n"))
fwrite($handle,$tableau_content[$i]);
}
$str_out = '<br /><img src="../Astronova/images/commentaireseparation.png" /><br /><span class="pseudo">'.$pseudo.'</span><span class="date_post"> à ecrit le '.date('d.m.y à H:i:s').'</span> '."\r\n".'<span class="site_post">'.$site.'</span>'."\r\n".'<span class="commentaire_post">'.$commentaire.'</span>'."\r\n";
fwrite($handle,$str_out);
fclose($handle);
if($notification_mail == 1)
{
$message = $pseudo." le ".date('d.m.y à H:i:s')."\r\n".$commentaire."\r\nhttp://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];[color=#BF0000]//-------------------------------------ou alors d ici --------------------------------------------------------------------[/color]
@mail($adresse_mail,"Nouveau commentaire de ".$pseudo,$message,$provenance_mail);
}
}
else
{
if($debug == 1)
echo "<br /><br />Commentaire vide ou redondant!!!<br />";
}
echo "<script>window.location.replace(\"index.php?voir=blabla\")</script>"; \\ ici sera mis voir=$filenames
}
?>
[/php]
j ai mis des annotation dans le fichier d'ou je pense que le prbleme vient pour nous aidez merci a vous