lien en PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : lien en PHP

par t671 » 04 mai 2007, 08:47

Me revoilà .....

J'ai tenté de modifier mon script "add.php" en supprimant le message de réussite d'insertio, ce qui donne :
$connexion = @mysql_connect ($bddserver,$bddlogin,$bddpassword) OR DIE ("<br><b>Problème de connexion à la base de données, si le problème perciste, veuillez contacter le webmaster du site.</b><br>"); 
@mysql_select_db("$bdd",$connexion) OR DIE ("<br><b>Problème de sélection de la base de données, si le problème perciste, veuillez contacter le webmaster du site.</b><br>");

//enregistrement dans la table
$jour=date("d");
$mois=date("m");
$annee=date("Y"); 
$heure=date("H");
$min=date("i");
$date = "$jour/$mois/$annee à $heure";
$date .= "h$min";

$nom2 = htmlentities($nom);
$email2 = htmlentities($email);
$url2 = htmlentities($url);
$message1 = htmlentities($message);
$message2 = nl2br($message1);

mysql_query ("INSERT INTO $table (nom, email, url, message, date) VALUES ('$nom2', '$email2', '$url2', '$message2', '$date')");


echo "<center><a href = 'index.php'></a></center>";

if ($mail=="1")
    {
	// Entête de l'email
//....................
Mais je reviens toujours à ma page de saisie du message !!!!! :evil:

par Cyrano » 15 avr. 2007, 11:16

Modération :
t671, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ


Et pour ton problème, c'est l'évidence même : au lieu de ta fonction viewform(), tu dois rediriger vers la page index. Mais comme tu as déjà envoyé des données au navigateur avec le message de réussite de l'insertion, il faudra le faire en JavaScript.

par t671 » 15 avr. 2007, 11:12

Ensuite, ça ne nous avance pas beaucoup puisque nous n'avons pas la suite de ce code : ton insertion semble fonctionner, ok, mais as-tu mis ensuite les instructions qui servent à afficher le reste de ta page ?
La suite du code, est l'envoie d'un email annonçant la nouvelle insertion d'un message sur le livre d'or (qui ne fonctionne pas car détecté comme du spam par le serveur Free => Warning: mail() [function.mail]: Spam detecte, mail non envoye.)
Puis à la suite j'ai :

mysql_close ($connexion);
}
viewform(); //permet le réaffichage du cadre de saisie d'un nouveau message
?>
</body></html>


Donc, après avoir confirmé l'envoie du message saisi, une nouvelle fenêtre de saisie "vierge" se réaffiche avec les lignes de commentaires "Message bien ajouté" + "Warning: mail() [function.mail]: Spam ......".
Que dois-je mettre à la place du "viewform" pour voir afficher le livre d'or qui est la page index.php ?

En espérant avoir été assez explicite .....

Merci

par Cyrano » 15 avr. 2007, 10:14

On va commencer par ré-écrire ce code proprement en séparant le PHP du reste :
$sql = "INSERT INTO ". $table ." (nom, email, url, note, message, date) ".
       "VALUES ('". $nom2 ."', '". $email2 ."', '". $url2 ."', '". $note ."', '". $message2 ."', '". $date ."')";
mysql_query ($sql);
echo "<center>". $mess_fin ."<br></center>";//message d'ajout bien effectué 
Ensuite, ça ne nous avance pas beaucoup puisque nous n'avons pas la suite de ce code : ton insertion semble fonctionner, ok, mais as-tu mis ensuite les instructions qui servent à afficher le reste de ta page ?

lien en PHP

par t671 » 15 avr. 2007, 09:53

Bonjour,

Sur mon livre d'or, il y a le script d'insertion des messages dans la base, puis un message s'affiche disant que l'ajout a été bien effectué :
mysql_query ("INSERT INTO $table (nom, email, url, note, message, date) VALUES ('$nom2', '$email2', '$url2', '$note','$message2', '$date')");
echo "<center>$mess_fin<br></center>";//message d'ajout bien effectué
A la place de ce message, j'aimerais afficher la page du livre d'or. Mais j'y arrive pô !!!! :?

Pouvez-vous m'aider ?

Merci