Hébergement du site en PHP et Mysql par WDMédia-hébergement
Vous aussi adpotez les éléPHPants de Vincent Pontier !  


Rechercher dans le forum

Mots-clés :

Trouver :
un de ces termes tous les termes

Depuis :
7 j 15 j 30 j


Retour à l'index du forum

j'arrive pas à exécuter le script suivant !

Message original de t14

Le : 06/03/2008 à 17:56:12

Dejà lu 8440 fois avant vous

Bonjour,

Mon script récupère des données du script précédent, fait une vérification. Si c'est nok, il affiche un message d'erreur. Si c'est ok, il passe au script suivant pour écriture ds la base.
Lors des tests, si c'est nok le message s'affiche bien, mais si c'est ok, il ne passe pas au script suivant et reste sur ce script. (Les variables sont bien transmises puisqu'elles apparaissent ds l'echo.)

<?php

$cryptinstall="crypt/cryptographp.fct.php";
include $cryptinstall;

$id_reco = $_POST['id_reco'];
$nom = $_POST['nom'];
$mail = $_POST['mail'];
$message = $_POST['message'];

if (chk_crypt($_POST['code'])) {
// echo "ID ='$id_reco' - NOM ='$nom' - EMAIL ='$mail' - MESSAGE ='$message'";
echo '<form method="POST" action="add.php" value="envoyer" name="soumettre"><input type="hidden" name="id_reco" id="id_reco" value="id_reco">
<input type="hidden" name="message" id="message" value="message">
<input type="hidden" name="mail" id="mail" value="mail">
<input type="hidden" name="nom" id="nom" value="nom">';
}
else
echo '<center><h2>Erreur, le code est incorrect</h2><p><a href="commentaire.php">Retour saisie commentaire</a></center>';
exit;
?>

Merci pour votre aide !

Re: j'arrive pas à exécuter le script suivant !

Réponse de rafaelle

Le : 06/03/2008 à 18:53:37

Bonjour

Il n'est pas envoyé, ce formulaire ... Et tu ne peux l'envoyer comme ça !

Tu peux passer par des sessions


<?php
if (chk_crypt($_POST['code'])) {
session_start();
$_SESSION['id_reco']=$id_reco;
//etc. 
//Tu aurais pu éviter une étape en faisant :
//$_SESSION['id_reco']=$_POST['id_reco'];
header('Location:add.php');
}
else 
//etc

//et sur add.php
session_start();
$id_reco=$_SESSION['id_reco'];
//etc
?>



Tu vois le principe ?
Raf

PS : bien sûr pas de HTML avant le session_start(); sinon ça va pas faire ...

Re: j'arrive pas à exécuter le script suivant !

Réponse de t14

Le : 06/03/2008 à 19:23:46

Génial rafaelle !!!! Ca marche nickel !!!!!
Encore 2 questions :

1) Si tu ouvre une session au premier script (session_start();
$_SESSION['id_reco']=$id_reco; ........) est-ce que tu peux récupérer tes valeurs que dans le 10° script ?
2) Que veux-tu dire par : "Tu aurais pu éviter une étape en faisant : $_SESSION['id_reco']=$_POST['id_reco']; " ???

Re: j'arrive pas à exécuter le script suivant !

Réponse de rafaelle

Le : 06/03/2008 à 19:33:51

Je voulais dire que :

$id_reco = $_POST['id_reco'];
$nom = $_POST['nom'];
$mail = $_POST['mail'];
$message = $_POST['message'];
n'était pas forcément nécessaire ... Tu pouvais faire

<?php
$cryptinstall="crypt/cryptographp.fct.php";
include $cryptinstall;
if (chk_crypt($_POST['code'])) {
session_start();
$_SESSION['id_reco']=$_POST['id_reco'];
//etc

Pour la première question, ça marchera au 2000e script s'ils ont chacun session_start(); au début du script ...

Raf

Re: j'arrive pas à exécuter le script suivant !

Réponse de t14

Le : 06/03/2008 à 19:40:56

Les $_SESSION['id_reco']=$_POST['id_reco']; remplacent les $id_reco=$_SESSION['id_reco']; .....
sur add.php ?

Ais-je bien compris ?

Re: j'arrive pas à exécuter le script suivant !

Réponse de t14

Le : 06/03/2008 à 19:44:06

Je ne vois pas la différence entre $_SESSION['id_reco']=$_POST['id_reco']; et $_SESSION['id_reco']=$id_reco. ?

Re: j'arrive pas à exécuter le script suivant !

Réponse de rafaelle

Le : 06/03/2008 à 19:49:43

Tu ne surcharges pas ton script de lignes inutiles, tu le rends plus clair et plus facile à reprendre par toi ou un autre.
Tu gagnes quelques centièmes de secondes et un tout petit peu de charge du serveur, c'est pas beaucoup mais c'est comme fermer le robinet quand on se brosse les dents, c'est un petit geste mais c'est un geste quand même.
Tu diminues les risques d'erreur.
Tu apprends à coder sobre et propre.
:)
Raf

Re: j'arrive pas à exécuter le script suivant !

Réponse de t14

Le : 07/03/2008 à 09:16:19

Merciiiiiiiiiiiiiii rafaelle :))

Re: j'arrive pas à exécuter le script suivant !

Réponse de t14

Le : 07/03/2008 à 10:41:00

Dans le "else", au lieu d'afficher un message d'erreur, je voudrais revenir à la page précédente où j'ai rempli les cases du formulaire.
Je sais que pour revenir à la page précédemment affichée, on peut écrire " <a href="Javascript:history.go(-1)"> ".

Mais si j'écris :
else
echo '<a href="Javascript:history.go(-1)">';
exit;

je reste bloqué sur ma page verifie.php, et pas de retour !

Comment puis-je faire, et si en plus, je veux afficher une ligne d'erreur en surimpression de la page précédente, c'est possible ??

Merci

Re: j'arrive pas à exécuter le script suivant !

Réponse de rafaelle

Le : 07/03/2008 à 18:52:25

Bonsoir

Sors de php et fais une retour en arrière par javascript. Pour ceux qui ont désactivé javascript, laisse un lien (mais ils perdront leurs variables ...)


<?php
//ton if, puis
else {
?>
<script language="javascript" type="text/javascript">
history.go(-1)
</script>
<?php
echo'<a href="tonformulaire.php">Retour à la page précédente</a>';
}
?>



Raf

Re: j'arrive pas à exécuter le script suivant !

Réponse de t14

Le : 08/03/2008 à 12:15:16

Merci encore rafaelle ........
Je ne voudrais pas t'embêter, mais maintenant, si lors du retour arrière je veux réafficher les champs déjà saisis, avec un message en plus expliquant l'erreur ......
Je pourrais enregistrer ces champs dans une table temporaire, mais si le visiteur ne modifie pas sa saisie et coupe, ça ne sert à rien de garder l'enregistrement dans la table ......
Et il y a certainement plus simple ........... ;))

Re: j'arrive pas à exécuter le script suivant !

Réponse de rafaelle

Le : 08/03/2008 à 13:14:00

Bonjour !
Tu mets ton message d'erreur dans une variable de session et tu l'affiches. Ce qui donne :

<?php
//ton if, puis
else {
session_start(); //si message d'erreur du style "headers already sent", pas de panique, tu le déplaces au tout début de ton script
$_SESSION['message_erreur']="Bla bla bla";
?>
<script language="javascript" type="text/javascript">
history.go(-1)
</script>
<?php
echo'<a href="tonformulaire.php">Retour à la page précédente</a>';
}
?> 

Puis au début de ton tonformulaire.php, session_start(); puis là où tu veux afficher un truc du genre :
<?php if(isset($_SESSION['message_erreur'])) echo $_SESSION['message_erreur']; ?>
ou alors toujours session_start(); au début puis tu affiches ton message dans une boîte javascript, c'est toi qui vois.



Tu vois le principe ?
Raf

Re: j'arrive pas à exécuter le script suivant !

Réponse de t14

Le : 08/03/2008 à 18:02:47

Merciiiiiiiiii Raf !

Par contre, la saisie effectuée précédemment ne s'affiche pas ! Dois-je enregistrer ces saisies dans une table pour les réafficher ? Ou y a t'il moyen de mettre ces saisies dans des Sessions ?

Re: j'arrive pas à exécuter le script suivant !

Réponse de rafaelle

Le : 08/03/2008 à 18:40:17

Oui, tu peux mettre en variable de session ...
Mais ça me semble bizarre que ta saisie ne se réaffiche pas !

Re: j'arrive pas à exécuter le script suivant !

Réponse de t14

Le : 09/03/2008 à 11:59:29

Ben rafaelle, va falloir que tu m'aides encore un peu ....... J'arrive pas àréafficher les saisies précédentes.
Voici ce que j'ai écrit pour l'écran de saisie :

<?php 
    session_start
();
$nom=$_SESSION['nom'];
$mail=$_SESSION['mail'];
$message=$_SESSION['message'];

 
$cryptinstall="crypt/cryptographp.fct.php";
 include 
$cryptinstall
  
?>

<html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset">
<head>
<style type="text/css">
a {color:black; text-decoration:underline;}
a:hover {color:red; text-decoration:underline;}
</style>
</head>
<body bgcolor="#FFCCFF"><center><p>

<?php 
   
echo '<form method="post" action="verifier.php" value="envoyer" name="soumettre">';
   echo 
"<input type=hidden name=\"id\" value=$id>";
   echo 
'<p><u><b>Votre Nom :</b></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <textarea cols="40" name="nom" id="nom" rows="1">$nom</textarea><br>';
   echo 
'<u><b>Adresse mail :</b></u>&nbsp;&nbsp;&nbsp; <textarea cols="40" name="mail" id="Mail" rows="1">$mail</textarea><p><center>';
   echo 
'<u><b>Votre commentaire :</b></u><p><textarea cols="65" name="message" id="Message" rows="8" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" >$message</textarea><p>
?>
<input type="reset" value="Effacer"><p>

<!-- permet de passer id_reco au script suivant 
<input type="hidden" name="id_reco" id="id_reco" value="<?php echo $_GET['
id_reco']; ?>"> --> 

<table width="587">
  <tr><td height="10" align=center width="581"><?php dsp_crypt(0,1); ?></td></tr>
  <tr><td width="581">Recopier le code pour validation :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" name="submit" value="Envoyer"></td></tr>
</table>
</form><p>

<?php if(isset($_SESSION['
message_erreur'])) echo $_SESSION['message_erreur]; ?>

</center>
</body></html>



Et mon script de verification :
<?php 

$cryptinstall
="crypt/cryptographp.fct.php";
include 
$cryptinstall

if (
chk_crypt($_POST['code'])) {
    
session_start(); 
  
$_SESSION['id_reco']=$id_reco
  
$_SESSION['nom']=$nom;
  
$_SESSION['mail']=$mail;
  
$_SESSION['message']=$message;
        
header('Location:add.php');

else {
session_start();
  
$_SESSION['nom']=$nom;
  
$_SESSION['mail']=$mail;
  
$_SESSION['message']=$message;  
  
$_SESSION['message_erreur']="Le code saisi n'est pas le bon !";
?>
<script language="javascript" type="text/javascript">
<!--
history.go(-1)
//-->
</script>
<?php
echo'<a href="Javascript:history.go(-1)">Retour à la page précédente</a>'; } ?>     
  exit;
?>



Y'a certainement beaucoup d'erreur ......... :((

Re: j'arrive pas à exécuter le script suivant !

Réponse de rafaelle

Le : 09/03/2008 à 23:46:21

Bonjour !

Effectivement des erreurs il y en a pas mal, mais elles s'affichent donc ça t'aide à les corriger. Il y a deux tutos ici sur le débugage et je te conseille de les lire attentivement ! Je te mets mes remarques en commentaire. (Je laisse de côté le côté cryptograph, je n'ai pas le script)


<?php 
session_start
();
$nom=$_SESSION['nom'];
$mail=$_SESSION['mail'];
$message=$_SESSION['message'];

 
$cryptinstall="crypt/cryptographp.fct.php";
 include 
$cryptinstall
  
?>

<html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset">
<head>
<style type="text/css">
a {color:black; text-decoration:underline;}
a:hover {color:red; text-decoration:underline;}
</style>
</head>
<body bgcolor="#FFCCFF"><center><p>

<?php 
   
echo '<form method="post" action="verifier.php" value="envoyer" name="soumettre">';
//mettre toujours entre quotes les valeurs des attributs
   
echo "<input type=hidden name=\"id\" value=\"$id\">";
//Si tu utilises des simples quotes, ta variable n'est pas interprétée et tu as affiché : $nom. Il faut concaténer
   
echo '<p><u><b>Votre Nom :</b></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <textarea cols="40" name="nom" id="nom" rows="1">'.$nom.'</textarea><br>';
   echo 
'<u><b>Adresse mail :</b></u>&nbsp;&nbsp;&nbsp; <textarea cols="40" name="mail" id="Mail" rows="1">'.$mail.'</textarea><p><center>';
//manque la fin de la ligne
   
echo '<u><b>Votre commentaire :</b></u><p><textarea cols="65" name="message" id="Message" rows="8" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" >'.$message.'</textarea><p>';
?>
<input type="reset" value="Effacer"><p>

//commentaire mal placé
/*permet de passer id_reco au script suivant*/  
<input type="hidden" name="id_reco" id="id_reco" value="<?php echo $_GET['id_reco']; ?>"> 

<table width="587">
  <tr><td height="10" align=center width="581"><?php dsp_crypt(0,1); ?></td></tr>
  <tr><td width="581">Recopier le code pour validation :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" name="submit" value="Envoyer"></td></tr>
</table>
</form><p>

<?php
//il te manquait un ' à $_SESSION['message_erreur]
if(isset($_SESSION['message_erreur'])) echo $_SESSION['message_erreur']; 
?>

</center>
</body></html>



Dans le script de vérification, moins d'erreurs mais des répétitions ... Tu peux alléger

<?php
session_start
(); 
  
$_SESSION['nom']=$nom;
  
$_SESSION['mail']=$mail;
  
$_SESSION['message']=$message;

$cryptinstall="crypt/cryptographp.fct.php";
include 
$cryptinstall

if (
chk_crypt($_POST['code'])) {
  
$_SESSION['id_reco']=$id_reco
  
header('Location:add.php');

else {
  
$_SESSION['message_erreur']="Le code saisi n'est pas le bon !";
?>
<script language="javascript" type="text/javascript">
<!--
history.go(-1)
//-->
</script>
<?php
//ben non, ce bout de code c'est pour ceux qui ont désactivé javascript !
echo'<a href="tonformulaire.php">Retour à la page précédente</a>'

//?> mal mis    
exit;
?> 



Raf

PS : les bugs de base, comme une ' qui manque, normalement tout le monde en fait tout le temps, tu dois apprendre à les corriger toi-même au fur et à mesure. Aide-toi de ton éditeur de texte (avec les couleurs) et fais des tests d'affichage au fur et à mesure.

Re: j'arrive pas à exécuter le script suivant !

Réponse de t14

Le : 10/03/2008 à 13:12:11

Bonjour rafaelle,

J'ai un message d'erreur que je n'arrive pas à résoudre .......

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /mnt/165/sda/f/a/gnealogie/val-ville/reconstitution/visiteur/commentaire.php on line 102


<?php
 
if(isset($_SESSION['message_erreur'])) {
    echo 
$_SESSION['message_erreur']; }
    
?>



La ligne 102 est celle du "if isset" ....

Merci lol

Re: j'arrive pas à exécuter le script suivant !

Réponse de rafaelle

Le : 10/03/2008 à 13:30:40

Bonjour
Quand il y a erreur à une ligne, l'erreur provient en général des lignes précédentes.
Raf

Re: j'arrive pas à exécuter le script suivant !

Réponse de t14

Le : 11/03/2008 à 10:25:15

Bonjour Rafaelle,

J'avance tout doucement.
Deux points me gênent encore !
1) Si je réaffiche pas page commentaire, j'ai ma saisie précédente qui se réaffiche également bien. Mais si je veux modifier cette saisie (précédente), c'est cette précédente, et non la modification qui est enregistrée. Il faudrait que je puisse modifier les variables de Session dans le cas où j'affiche le message d'erreur (if(isset($_SESSION['message_erreur'])) echo $_SESSION['message_erreur']; ).
Mais, je ne sais pas comment faire .......
2) Je pense qu'a un moment donné de mon enchainement de scripts je dois supprimer les sessions et remettre le compteur à zéro si je veux faire de nouvelles saisies.
J'ai placé à la fin du dernier script, qui est l'affichage de la saisie ds un tableau, la supression des la Session ( session_destroy(); ). Mais si je fais 2 saisies pour le même enregistrement, la 2°saisie esxt vide ????

<?php
  session_start
(); 
  
$_SESSION['id_reco']=$id_reco
  
$_SESSION['nom']=$nom;
  
$_SESSION['mail']=$mail;
  
$_SESSION['message']=$message;
?>
<html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset">
<link rel="stylesheet" type="text/css">
<title>Affichage d'une reconstitution et son dernier commentaires</title>
<style type="text/css">
a {color:#000000; text-decoration:underline;}
a:hover {color:white; text-decoration:underline;}
</style>
</head>
<body bgcolor="#FFCCFF">
<h3><a href="menu.php">Retour menu</a></h3>
<center>

<?php include ('../../connexion/connexion.php'); 

//sélection de l'enregistrement 
$select "SELECT * FROM reconstitutions where id_reco='$id_reco'";
$result mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

 {
        
//affichage du résultat dans un tableau
    
while($row mysql_fetch_array($result)) {
    echo 
'<h2><center>La famille recomposée</center></h2>';
        echo 
'<table bgcolor="#FFFFFF" width="900">';
    echo 
'<td bgcolor="#66CC99" width="100"><center>'.$row['date_reco'].'</center></td>';
    echo 
'<td bgcolor="#66CC99" width="700"><center>Famille :&nbsp;&nbsp;&nbsp;&nbsp;<b>'.strtoupper($row['famille']).'</b></center></td></tr>';
        echo 
'<tr><td colspan=2 bgcolor="#FFCC00" width="800">'.nl2br($row['msg_reco']).'</td></tr>';
        echo 
'</table><p>';
    echo 
'<h4><center>Votre commentaire</center></h4>';
    }
}

//sélection du commentaire
$select2 "SELECT * FROM com_reconstitution WHERE id_reco_com='$id_reco' order by id_com desc limit 1";
$result2 mysql_query($select2,$link) or die ('Erreur : '.mysql_error() );

 {
        
//affichage du résultat dans un tableau
    
while($row mysql_fetch_array($result2)) {
        echo 
'<table bgcolor="#FFFFFF" width="900">';
    echo 
'<td bgcolor="#66CCCC" width="300"><center>'.$row['date_com'].'</center></td>';
    echo 
'<td bgcolor="#66CCCC" width="300"><center>'.$row['email_com'].'</center></td>';
    echo 
'<td bgcolor="#66CCCC" width="300"><center>'.$row['nom_com'].'</center></td>';
        echo 
'<tr><td colspan=3 bgcolor="#FFCC99" width="900">'.nl2br($row['commentaire']).'</td></tr>';
        echo 
'</table><P>';
    echo 
'<h3><a href="result_commentaire_famille.php?id_reco=',$id_reco['id_reco'],'">Voir tous les commentaires pour cette famille</a></h3>'
   }
}

// on libère le résultat

mysql_free_result($result);
mysql_free_result($result2);
session_destroy();
mysql_close();  // on ferme la connexion

?>
</center>
</body>
</html>



Merciiiiiii

Re: j'arrive pas à exécuter le script suivant !

Réponse de rafaelle

Le : 11/03/2008 à 10:57:37

Bonjour

1) Si je réaffiche pas page commentaire, j'ai ma saisie précédente qui se réaffiche également bien. Mais si je veux modifier cette saisie (précédente), c'est cette précédente, et non la modification qui est enregistrée.



Là ça doit être un problème quand tu traites tes variables ... Montre moi comment tu récupères tes variables postées, stp ...

Raf

PS : on la joue collectif sur ce forum ... tout le monde aide tout le monde, c'est très gentil et correct de me remercier si je peux te faire avancer, mais si tu ne t'adresses qu'à moi pour un nouveau problème, tu risques de décourager les autres, qui sont souvent bien meilleurs que moi :)

Re: j'arrive pas à exécuter le script suivant !

Réponse de t14

Le : 11/03/2008 à 11:27:54

Effectivement, je m'adresse à toi car tu es la seule qui me réponde. Mais d'autres veulent se joindre à nous et apporter leur point de vue, ils sont les bienvenue :))

Pour le traitement des variables :

La saisie du formulaire :
<?php 
    session_start
();
$nom=$_SESSION['nom'];
$mail=$_SESSION['mail'];
$message=$_SESSION['message'];

 
$cryptinstall="crypt/cryptographp.fct.php";
 include 
$cryptinstall
  
?>

<html>

<?php 
   
echo '<form method="post" action="verifier.php" value="envoyer" name="soumettre">';
   echo 
"<input type=hidden name=\"id\" value=\"$id\">";
   echo 
'<p><u><b>Votre Nom :</b></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <textarea cols="40" name="nom" id="nom" rows="1">'.$nom.'</textarea><br>';
   echo 
'<u><b>Adresse mail :</b></u>&nbsp;&nbsp;&nbsp; <textarea cols="40" name="mail" id="Mail" rows="1">'.$mail.'</textarea><p><center>';
   echo 
'<u><b>Votre commentaire :</b></u><p><textarea cols="65" name="message" id="Message" rows="8" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" >'.$message.'</textarea><p>';

?>
<input type="button" value="Aperçu" onclick="TAinsert;OpenPreview();" style="text-decoration: none">
<input type="reset" value="Effacer"><p>

<!-- permet de passer id_reco au script suivant --> 
<input type="hidden" name="id_reco" id="id_reco" value="<?php echo $_GET['id_reco']; ?>">

<table width="587">
  <tr><td height="10" align=center width="581"><?php dsp_crypt(0,1); ?></td></tr>
  <tr><td width="581">Recopier le code pour validation :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" name="submit" value="Envoyer"></td></tr>
</table>
</form><p>

<?php
 
if(isset($_SESSION['message_erreur'])) 
    echo 
$_SESSION['message_erreur']; 
?>

</center>
</body></html>



Verification du codede saisie (cryptograph), et retour sur la page de saisie si le code n'est pas ok :
Si code ok=> add.php = écriture ds la base.

<?php 
    session_start
(); 
  
$_SESSION['nom']=$nom;
  
$_SESSION['mail']=$mail;
  
$_SESSION['message']=$message;
    
$cryptinstall="crypt/cryptographp.fct.php";
include 
$cryptinstall

if (
chk_crypt($_POST['code'])) {
    
$_SESSION['id_reco']=$id_reco;
        
header('Location:add.php');


else { 
$_SESSION['message_erreur']="Le code saisi n'est pas le bon !";

?>

<script language="javascript" type="text/javascript">
<!--
history.go(-1)
//-->
</script>

<?php
echo'<a href="commentaire.php">Retour à la page précédente</a>';     
}
  exit;
?>



Si code ok, écriture dans la base :

<?php
session_start
();

$id_reco=$_SESSION['id_reco']; 
$nom=$_SESSION['nom'];
$mail=$_SESSION['mail'];
$message=$_SESSION['message'];
?>
<?php 
include ('../../connexion/connexion.php'); 

// On vérifie si les champs sont vides 
//je ne me suis pas encore penché sur cette partie ...... une chose après l'autre .......
if(empty($nom) OR empty($mail) OR empty($message)) 
    { 
        
//header("Location:result_commentaire_vide.php?id_reco=$id_reco");
        
session_destroy(); 
    } 
// Aucun champ n'est vide, on peut enregistrer dans la table 

else 

//enregistrement dans la table
$jour=date("d");
$mois=date("m");
$annee=date("Y"); 
$date "$jour/$mois/$annee";

    
// on écrit la requête sql 
    
$sql "INSERT INTO com_reconstitution(commentaire, date_com, nom_com, email_com, id_reco_com) VALUES('$message', '$date', '$nom', '$mail', '$id_reco')"
    
// on insère les informations du formulaire dans la table 
    
mysql_query($sql) or die('Erreur SQL !'.$sql.mysql_error());

    
mysql_close();  
    
header("Location: result_commentaire.php?id_reco=$id_reco");
exit; 
?>



Et enfin, j'affiche le résultat dela saisie et de l'enregistrement ds la base dans un tableau :

<?php
  session_start
(); 
  
$_SESSION['id_reco']=$id_reco
  
$_SESSION['nom']=$nom;
  
$_SESSION['mail']=$mail;
  
$_SESSION['message']=$message;
?>
<html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset">
<link rel="stylesheet" type="text/css">
<title>Affichage d'une reconstitution et son dernier commentaires</title>
<style type="text/css">
a {color:#000000; text-decoration:underline;}
a:hover {color:white; text-decoration:underline;}
</style>
</head>
<body bgcolor="#FFCCFF">
<h3><a href="menu.php">Retour menu</a></h3>
<center>

<?php include ('../../connexion/connexion.php'); 

//sélection de l'enregistrement 
$select "SELECT * FROM reconstitutions where id_reco='$id_reco'";
$result mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

//sélection du commentaire enregistré
$select2 "SELECT * FROM com_reconstitution WHERE id_reco_com='$id_reco' order by id_com desc limit 1";
$result2 mysql_query($select2,$link) or die ('Erreur : '.mysql_error() );

 {
        
//affichage du résultat dans un tableau
    
while($row mysql_fetch_array($result2)) {
        echo 
'<table bgcolor="#FFFFFF" width="900">';
    echo 
'<td bgcolor="#66CCCC" width="300"><center>'.$row['date_com'].'</center></td>';
    echo 
'<td bgcolor="#66CCCC" width="300"><center>'.$row['email_com'].'</center></td>';
    echo 
'<td bgcolor="#66CCCC" width="300"><center>'.$row['nom_com'].'</center></td>';
        echo 
'<tr><td colspan=3 bgcolor="#FFCC99" width="900">'.nl2br($row['commentaire']).'</td></tr>';
        echo 
'</table><P>';
    echo 
'<h3><a href="result_commentaire_famille.php?id_reco=',$id_reco['id_reco'],'">Voir tous les commentaires pour cette famille</a></h3>'
   }
}

// on libère le résultat

mysql_free_result($result2);
//je supprime les sessions pour une future saisie ....
session_destroy();

mysql_close();  // on ferme la connexion

?>
</center>
</body>
</html>



Voilà ......... ;))

Re: j'arrive pas à exécuter le script suivant !

Réponse de rafaelle

Le : 11/03/2008 à 11:33:09

Si code ok, écriture dans la base :

<?php
session_start();

$id_reco=$_POST['id_reco'];
$nom=$_POST['nom'];
$mail=$_POST['mail'];
$message=$_POST['message'];
?>

et non $_SESSION('id_reco']; etc

Raf

Re: j'arrive pas à exécuter le script suivant !

Réponse de t14

Le : 12/03/2008 à 11:25:49

Merci beaucoup pour ton aide Rafaelle. J'ai fait de nombreux tests, et pour l'instant ça marche nickel !!!!!

A ++ :))

Re: j'arrive pas à exécuter le script suivant !

Réponse de AmYPPJwO

Le : 10/04/2009 à 16:00:34

oimru0 <a href="http://uzuuaztjvivu.com/">uzuuaztjvivu</a>, [url=http://zgocrjmekvqd.com/]zgocrjmekvqd[/url], [link=http://tovltmujpqtl.com/]tovltmujpqtl[/link], http://qggehxpakfsj.com/
Retour à l'index du forum


Ajouter une réponse

Nom :

Email :

Titre :

Message :

Combien font 3 + 4 ?

Mise en forme : gras = [b]...[/b], italic = [i]...[/i], souligné = [u]...[/u], citation = [quote]...[/quote], lien = [url]liens_externe[/url] ou [url nom=texte]liens_externe[/url], code source : [code]...[/code]

Recevoir les réponses par mail :
Oui Non

Mémoriser mon nom et mon email :
Oui Non

 

Charte des forums PHPDébutant

Bienvenue à vous,

Vous voici donc prêt à poster sur les forums de PHPDébutant. Avant toute chose, merci de prendre le temps de lire les quelques lignes qui suivent.

Attention, à partir du moment ou vous postez dans les forums, vous acceptez la présente charte. Si votre message est modéré ou supprimé, vous ne pourrez pas dire que vous n'étiez pas au courant des règles !

Pourquoi une charte

Le but de cette charte est simple : que ces forums restent cordiaux et que les personnes aidant les autres ne se sentent pas lésées, insultées, critiquées. Pour que ces forums fonctionnent, il faut des personnes qui répondent aux questions. Pour que celles ci restent sur le forum, il faut les traiter avec respect, et ne pas les confondre avec des bonnes poires, esclaves, etc...

Mesures de régulation

  • Un nouveau message ne disant pas bonjour, ou insultant, dont le titre est tout en majuscules, pourra être supprimé sans justification (raisons non limitatives).
  • Prenez le temps de vérifier que la question que vous allez poser n'a pas déjà été posée, à l'aide du formulaire de recherche.
  • Prenez également le temps de vérifier que la réponse à votre question ne se trouve pas dans les tutoriaux. Nous ne pouvons pas répeter pour chaque visiteur tous les cours, il sont écrits, profitez-en (dans l'ordre tant qu'à faire) !
  • Nous ne faisons pas de scripts tout prêts. Nous aidons et vous guidons pour que vous puissiez trouver vous même la réponse, ce qui est beaucoup plus formateur.
  • Si vous comptez poster un message publicitaire, abstenez-vous. Au mieux le message sera supprimé, au pire les habitués descendront votre service en flamme.
  • Pour tout message de recrutement, précisez bien votre demande. Inutile de poster pour trouver un développeur pour faire gratuitement votre site de webmastering qui vous rapportera plein de sous. Les seuls coups de mains donnés en développement sont pour des associations ou des sujets passionnant un développeur.
  • Toute personne tenant des propos racistes ou illicites sera bannie et pourra faire l'objet de poursuites.
  • L'humour étant très présent sur ces forums, ne réagissez pas violemment à des propos qui pourraient être à prendre au second degré et avec de l'humour.
  • Attention aux trolls ! Leur multiplication peut entraîner la mort des forums, et sans forum, plus d'aide !
  • Respectez les thèmes des forums. Pensez aussi à vérifier que votre message n'a pas été déplacé si vous le croyez effacé.

Conseils

  • N'oubliez pas que les personnes à qui vous vous adressez sont des bénévoles qui donnent de leur temps pour vous. Si vous êtes méchants avec eux, il n'aideront plus et vous n'aurez plus d'aide !
  • Ne soyez pas pressé. Nous avons une vie aussi, et nous ne sommes par forcément tout le temps disponibles.
  • N'oubliez pas que les smileys sont la pour faire comprendre l'humeur dans laquelle vous rédigez un message. Il est indispensable de mettre des smileys quand vous faites de l'humour, sinon le message pourrait être mal perçu (ca serait quand même idiot de plomber l'ambiance en faisant de l'humour !).
  • Surveillez votre orthographe, nous ne vous demandons pas d'être littéraire, mais que votre message soit au moins compréhensible. Evitez à tout prix le style SMS.
  • Expliquez clairement le problème, ce n'est pas toujours facile, mais mieux vaut essayer de le faire le plus possible.
  • Ne postez pas de questions trop vagues du genre "comment faire un forum". Cela ne sert à rien, cela ne s'explique pas sur un coin de forum.
  • Mettez un titre clair, correspondant au sujet que vous allez poster. A l'aide, au secours, etc... ne sont pas d'une grande utilité pour ceux qui vont vous aider. Parfois nous passons en coup de vent, et si nous ne savons pas ce que va contenir le message, nous ne le regarderons même pas.
  • Ne mettez par [URGENT] ou autre joyeuseté du genre dans vos titres de messages. Cela irrite les gens (il y'a plus urgent dans la vie, pensez aux gens qui meurent de faim ou ayant besoin des pompiers, ça c'est urgent), et vous n'aurez pas votre réponse plus vite pour autant.
  • Si vous connaissez déjà à quel domaine votre question d'adresse (par exemple mysql, html, php, javascript), n'hésitez pas à le marquer au début de votre message, avec un [html] par exemple (notez les minuscules).
  • Ne dites pas "ça marche pas". Il y a toujours des raisons. Je vous invite à consulter le tutorial "ça marche pas" qui vous aidera à mieux expliquer votre problème.
  • Ne postez pas 36000 lignes de code. Sur le forum, le code apparaît non coloré et sans indentation, ce qui est illisible. Au dessus de 5 lignes, plus personne ne lit et vous n'aurez pas de réponse. Utilisez le wall
  • En règle générale restez courtois et clair, n'oubliez pas que la politesse fait partie de la vie courante. Il est de bon ton de dire bonjour même pour une réponse, même plusieurs fois dans la journée (ceux qui vous lisent n'ont pas forcément lu vos autres messsages)

La Fin

Avec tout ces conseils vous augmenterez les chances de réponse, leur pertinence et leur rapidité

Voilà, ça sera tout, bonne écriture :)

Fermer les règles et poster un message


www.phpdebutant.org © 2012 - L'équipe de phpDebutant - Hébergement : WDMédia-hébergement