Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour a tous,
J'ai une formulaire , appele create_br.php, qui permet de remplir la table d'une base de donnees.
Mais voila, je souhaite eviter que la la reactualisation en renvoie des donnees dans la table alors j'ai utilise la redirection vers mon formulaire create_br.php. Mais je souhaite afficher a l'utilisateur que les informations qu'il a saisies ont ete effectivement enregistrees dans la table. Pour cela je cree une session $_SESSION ['success'] et que j'affiche apres la redirection.
elseif (isset($_POST['submitted'])) { // Handle the form.
require_once ('../mysqli_connect.php');
include ('includes/login_functions.inc.php');
if (isset($_SESSION['success'])){
echo "<p>{$_SESSION['success']}</p>; You can add a new one";
}
//empty $errors
//unset ($_SESSION['success']);
$errors=array();
// Trim all the incoming data:
$trimmed = array_map('trim', $_POST);
if (strlen($_POST['brulecode']) != 3){
$errors[]= 'Please enter a Business code or the Business Rule you enter has less than 3 characters.';
} else {
$brc=$_POST['brulecode'];
}
if (empty($_POST['bruletype'])){
$errors[]= 'Please enter a Business type. It is a mandatory field';
} else {
$brt=$_POST['bruletype'];
}
if (empty($_POST['brulecontent'])){
$errors[]= 'Please enter a Field in Rule Content. It is a mandatory field';
} else {
$frc=$_POST['brulecontent'];
}
$brd=$_POST['bruledescription'];
if (empty($errors)) {
$q = "INSERT INTO business_rules (Biz_rule_code, Rule_type, Rule_content, BR_description) VALUES ('$brc', '$brt', '$frc', '$brd')";
$r = mysqli_query ($dbc, $q);
//or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
if (mysqli_affected_rows($dbc) == 1) { // If it ran OK.
$_SESSION['success']='The business rule has been added in the system.';
$url = absolute_url ('create_br.php');
header("Location: $url");
exit();
mysqli_close($dbc);
} else { //Not OK
echo '<p class="error">You could not be registered due to a system error. We apologize for any inconvenience.</p>';
}
} else {
echo '<h1>Error!</h1>
<p class="error">The following error(s) occurred:<br />';
foreach ($errors as $msg) {
echo " - $msg<br />\n";
}
echo '</p><p>Please try again.</p>';
}
} // End of form submitted
?>
<h1> > Create a Business Rule </h1>
<form action="create_br.php" method="post">
<fieldset style="width: 500px" >
<legend>CBR</legend>
<table align="left" border = "0" cellspacing ="0" cellpadding="3">
<tr><td><b>Business Rule Code:</b></td> <td><input type="text" name="brulecode" style="background:#FFFFCC" size="20" maxlength="20" value="<?php if (isset($trimmed['brulecode'])) echo $trimmed['brulecode']; ?>" /></td></tr>
<tr><td><b>Business Rule Type:</b></td> <td> <input type="text" name="bruletype" style="background:#FFFFCC" size="20" maxlength="40" value="<?php if (isset($trimmed['bruletype'])) echo $trimmed['bruletype']; ?>" /></td></tr>
<tr><td><b>Field in Rule Content:</b></td> <td> <input type="text" name="brulecontent" style="background:#FFFFCC" size="20" maxlength="40" value="<?php if (isset($trimmed['brulecontent'])) echo $trimmed['brulecontent']; ?>" /></td></tr>
<tr><td><b>Description:</b></td> <td> <textarea name="bruledescription" rows="5" cols="30" wrap="hard" ><?php if (isset($_POST['bruledescription'])) echo $_POST['bruledescription']; ?></textarea> </td></tr>
<tr>
<td></td>
<td><div align="center"><input type="submit" name="submit" value="Register" /></div></td>
<td><div align="center"><input type="submit" name="cancel" value="Cancel" /></div></td>
</tr>
<input type="hidden" name="submitted" value="TRUE" />
</table>
</fieldset>
</form>
Probleme: je suis redirige vers mon formulaire mais le message qui est dans la session ne s'affiche pas. J'ai verifie et la session existe bien dans le dossier tmp de Wampserver.
Comment puis afficher mon resultat?
Merci
Hors ligne
Saluton,
Je ne vois nulle part dans ce script d'affectation d'une valeur quelconque à $_SESSION['success']
Ah si, ligne 52.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonsoir,
humm...
Que donne un print_r($_SESSION); juste après le SESSION_START() ?
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Salut a tous,
j'ai trouve le probleme. En fait l'affichage du $_SESSION['success'] doit se faire a l'exterieur de la boucle
} // End of Cancel
elseif (isset($_POST['submitted']))
}// End of form submitted
Merci a tous
Hors ligne
Quelle boucle ?
Je ne vois aucun for, foreach ou while dans ce script.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
je parlais en fait du if {} elseif {}
Hors ligne
Alors il s'agit d'une structure alternative et non pas d'une structure répétitive.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
ok. merci. jai resolu mon probleme. Merci pour vos reponses
Hors ligne
Pages :: 1