Bonjour je vais essayer d'être assez claire dans mes explications pour poser mes 2-3 questions :
J'ai une page index.php avec un lien livre d'or (fonction ajax)
<li><a href="" onclick="envoieRequete('livre_dor/livredor.php','ajaxBox');" >Livre d'or</a></li>
celle-ci permet de modifier juste la partie du site.
Fonction Ajax
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| function envoieRequete(url,id)
{
var xhr_object = null;
var position = id;
if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
else
if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
// On ouvre la requete vers la page désirée
xhr_object.open("GET", url, true);
xhr_object.onreadystatechange = function(){
if ( xhr_object.readyState == 4 )
{
// j'affiche dans la DIV spécifiées le contenu retourné par le fichier
document.getElementById(position).innerHTML = xhr_object.responseText;
}
}
// dans le cas du get
xhr_object.send(null);
} |
livredor.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| <?php
include('../configuration/config.php');
mysql_connect($db_server, $db_username, $db_password);
mysql_select_db($db_name);
?>
<form method="post" action="livre_dor/verif_livredor.php">
<p> Laissez nous une trâce de votre passage .... </p>
<p> * Pseudo : <input name="pseudo" /><?php if ((isset($err_pseudo)) AND (empty($POST[$err_pseudo]))) echo $err_pseudo; ?><br /> </p>
<p> Site web : www.<input name="siteweb" /><br /></p>
* Message :<br />
<textarea name="message" maxlength="256" rows="3" cols="50"></textarea><br />
<input type="submit" value="Envoyer" />
<p> (*) Champ obligatoire</p>
</p>
</form>
<?php
/* test champ pseudo */
if (empty($POST['pseudo']))
$err_pseudo = "Champ pseudo vide";
$tot_message = mysql_query("SELECT id,pseudo,siteweb,message,date_heure FROM livre_dor ORDER BY date_heure DESC") or die(mysql_error());
$nb = mysql_num_rows($tot_message);
if ($nb == 0) {
echo "<p>Soyez le premier à laisser un message !!!</p>";
} else { ?>
<?php
/*echo "<p>Nombre de messages : $nb</p>";*/
while ($enreg = mysql_fetch_array($tot_message)) {
echo '<p> Le '. $enreg['date_heure'] .'<br /><strong>' . $enreg['pseudo'] . '</strong> a écrit
:<br />' . $enreg['message'] . '<br />';
if ($enreg['siteweb'] <> "") {
echo 'Site web : <a href=www.'.$enreg['siteweb'].'>www.' . $enreg['siteweb'] . '</a></p>';
}
}
}
?>
</div> |
Cette page propose un formulaire qui insere les champs ds la base de donnée avec verif_livredor.php.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <?php
include('../configuration/config.php');
mysql_connect($db_server, $db_username, $db_password);
mysql_select_db($db_name);
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo =
mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
// On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$siteweb =
mysql_real_escape_string(htmlspecialchars($_POST['siteweb']));
$message =
mysql_real_escape_string(htmlspecialchars($_POST['message']));
// De même pour le message
$message = nl2br($message);
// Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
// On peut enfin enregistrer :o)
$DateHeure= date("Y-m-d H:i:s");
$req = "INSERT INTO livre_dor (pseudo,siteweb,message,date_heure) VALUES('$pseudo','$siteweb','$message','".$DateHeure."')";
//echo $req;
mysql_query($req) or die(mysql_error()) ;
}
?> |
Maintenant que tous est présenté, je me permet de poser 2-3 questions:
Dans mon formulaire je désire que mon champ pseudo et message soit obligatoire et que ci ceux-ci sont vide je voudrais afficher un p'tit message d'information j'ai éssayé mais sa ne marche pas ? j'attend votre aide
De plus, quand un message est validé enregistré dans la base je voudrai retombé sur ma page index.php mais la zone changeante livredor.php ??? (je sais pas si je suis clair)
Partager