Aller au contenu

Problème sur formulaire anti-spam (captcha)


Sujets conseillés

Posté

Bonsoir à tous

Je débarque pour la première fois sur ce forum, moi grand ignare du php :)

J'ai essayé la procédure simplifiée de alphega dans le sujet Forum Webmaster-hub (je ne sais pas si ce fil de discussion a été fermé, je ne peux pas entrer de réponse)

Quand j'ouvre contact.php sur le serveur, j'ai le message suivant en début de page :

Warning: include(crypt/function.php) [function.include]: failed to open stream: No such file or directory in /web/sites/vhbu/2/179/52018/public/www/contact.php on line 1

Warning: include() [function.include]: Failed opening 'crypt/function.php' for inclusion (include_path='.:') in /web/sites/vhbu/2/179/52018/public/www/contact.php on line 1

En fin de page :

Fatal error: Call to undefined function dsp_crypt() in /web/sites/vhbu/2/179/52018/public/www/contact.php on line 97

Contact.php est à la racine du site, de même que le répertoire crypt.

Je n'arrive pas à solutionner le problème. Si quelqu'un arriver à m'aider... ça serait super cool.

PS : J'avais déjà un autre formulaire sur mon site mais depuis des modifications chez l'hébergeur (je pense que c'est depuis ce moment là), il ne fonctionne plus.

Posté

Là visiblement il ne trouve pas le fichier en question.

Copies ici la ligne qui appelle le fichier...

Le fatal_error du bas vient du fait que la fonction dsp_crypt n'est pas définie puisque le fichier qui la déclare n'a pas été trouvé...

  • 3 semaines plus tard...
Posté (modifié)

Bonjour à tous,

J'ai le même problème :

Fatal error: Call to undefined function dsp_crypt() in /var/www/Site1/contact4.php on line 97 alors que je n'ai pas d'autre erreur et que l'include est bon.

Savez vous d'ou cela peut venir ?

Je suis sur un serveur perso Apache + PHP 5.

Edit : Je viens de tester sur un compte Free et cela fait pareil...

Merci

Cordialement

Adrien

Modifié par Adrien54
Posté

Difficile de dire sans voir tout le code, mais si la fonction renvoie ça y'a pas à tortiller, c'est qu'elle n'est pas déclarée ! peut-être que le include ne fonctionne pas mais tu ne le voies pas ?

Dans le fichier crypt/functions.php, rajoutes $mavar="essai"; et fais un echo $mavar; au même endroit que l'appel à dsp_crypt(), tu verras bien ce que ça donne.

Posté

Bonjour,

Tu ne peux pas entrer de réponse sur le fil dans sa version basse fidélité.

Mais le topic reste ouvert (tu as un lien en haut de la page basse fidélité) :P

http://www.webmaster-hub.com/index.php?sho...29494

Dan

PS: il faut inclure le fichier crypt/cryptograph.fct.php au lieu de function.php , la version a évolué ! :P

Posté

Euh c'est à moi que tu t'adresses Dan ? si oui je ne vois absolument de quoi tu parles ???

J'ai répondu comme dab'... j'ai constaté depuis la mise à jour du forum que mon login/pass n'est pas retenu, je le perds au bout de quelques heures...

Posté

Salut

Euh c'est à moi que tu t'adresses Dan ? si oui je ne vois absolument de quoi tu parles ???

J'ai répondu comme dab'... j'ai constaté depuis la mise à jour du forum que mon login/pass n'est pas retenu, je le perds au bout de quelques heures...

Visiblement, Dan s'adressait à l'auteur du topic. Suis le premier lien de cette discussion, il dirige vers la "lofi version" du Hub, depuis laquelle on ne peut pas répondre.

Pour ton problème de connexion au Hub, vas voir sur cette page. Si ça a marché pour slender, ça devrait marcher pour toi aussi ;)

Posté

Effectivement, ce n'était pas à Incite Web que s'adressait ma réponse, mais à Billgrumeau :P

Mais pour Incite, si tu as des problèmes de login avec la dernière version du Hub, c'est parce que les cookies ont changé (ils sont moins permissifs).

Il suffit donc de virer le cookie du Hub et te reconnecter. Cela règlera ton problème :)

Voici ce que dit le panneau d'admin:

Create a stronghold auto-log in cookie?

If enabled, when a member logs in, an additional cookie is set which contains geographic information in a crypt to make cookie stealing almost impossible.

J'ai choisi de répondre oui à cette option.

Posté

Salut

Merci de ta réponse,

En fait la fonction dsp_crypt(0,1) n'est pas dans le cryptographp.cfg.php mais dans le contact.php dont voici le code :

<?php include "cryptographp.cfg.php"; ?>

<?php
// Dans la ligne qui suit, remplacer webmaster_AT_domaine.tld par l'adresse email du webmaster, à laquelle les messages devront être envoyés
$email_webmaster = "webmaster_AT_domaine.tld";
// === traitement des données du formulaire ============================================================
if (isset($_POST["envoyer"])){
// le formulaire a été soumis
$etat = "erreur";
// Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
// --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
if (isset($_POST["email_expediteur"])) {
$_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"]));
}
if (isset($_POST["titre"])) {
$_POST["titre"]=trim(stripslashes($_POST["titre"]));
}
if (isset($_POST["message"])) {
$_POST["message"]=trim(stripslashes($_POST["message"]));
}
// --- test de la validité des champs saisis ---
if (empty($_POST["email_expediteur"])) {
// il manque l'email de l'expéditeur
$erreur="Saisissez votre adresse email...";
}
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){
// l'adresse e-mail n'est pas valide
$erreur="Votre adresse e-mail n'est pas valide...";
}
elseif (empty($_POST["message"])) {
// le message est vide
$erreur="Saisissez un message...";
}
elseif (empty($_POST["code"])) {
// le code n'est pas saisi
$erreur="Saisissez le code de verification...";
}

else {
// --- Vérification de la validité du code captcha ---
if (chk_crypt($_POST['code']))
// --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
$etat="ok";
// --- Le code captcha n'est pas valide ---
else $erreur="Code de verification non valide ...";
}
}

else {
// --- le formulaire n'a pas été soumis ---
$etat="attente";
}
// === fin de traitement des données du formulaire =======================================================
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulaire de contact</title>
</head>
<body>
<h1>Contacter le webmaster</h1>
<?php
if ($etat!="ok"){// le formulaire n'a pas été soumis, ou soumis avec une erreur
if ($etat=="erreur"){
//le formulaire a été soumis avec une erreur
echo "<p><strong>".$erreur."</strong></p>\n";
// afficher le message d'erreur
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<p><label for="email_expediteur">Votre adresse e-mail (obligatoire):</label><br />
<input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php
if (!empty($_POST["email_expediteur"])) {
// l'adresse email de l'expéditeur a été saisie: la réafficher
echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES);
}
?>" />
</p>
<p><label for="titre">Titre de message (facultatif):</label><br />
<input type="text" size="40" name="titre" id="titre" value="<?php
if (!empty($_POST["titre"])) {
// le titre du message a été saisi: le réafficher
echo htmlspecialchars($_POST["titre"],ENT_QUOTES);
}
?>" />
</p>
<p><label for="message">Message (obligatoire):</label><br />
<textarea name="message" id="message" cols="40" rows="5"><?php
if (isset($_POST["message"])) {
// le message a été saisi: le réafficher
echo htmlspecialchars($_POST["message"],ENT_QUOTES);
}
?></textarea>
</p>
<table>
<tr><td><?php dsp_crypt(0,1); ?></td></tr>
<tr><td>Recopier le code:<input type="text" name="code"></td></tr>
<tr><td><input type="submit" name="submit" value="Envoyer"></td></tr>
</table>

</form>
<?php
}
else {
// le formulaire a été soumis sans erreur, on envoie le mail
$entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
$entete .= "MIME-Version: 1.0";
if (@mail($email_webmaster,$_POST["titre"],$_POST["message"],$entete)){
// mail envoyé
echo "Votre message a été envoyé.<br />\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Envoyer un autre message...</a>\n";
}
else {
// erreur lors de l'envoi du mail
echo "Un problème s'est produit lors de l'envoi du message.\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a>\n";
}
}
?>
</body>
</html>

Merci d'avance

Cordialement

Adrien

  • 4 semaines plus tard...
Posté
PS: il faut inclure le fichier crypt/cryptograph.fct.php au lieu de function.php , la version a évolué ! :P

Merci Dan :bisou: , ce n'est pas encore gagné mais je n'ai plus que le message :

Fatal error: Call to undefined function dsp_crypt() in /web/sites/vhbu/2/179/52018/public/www/contact.php on line 97

PS : désolé d'avoir tardé à répondre, j'avais laissé tombé ce problème faute de temps.

Posté
Le fatal_error du bas vient du fait que la fonction dsp_crypt n'est pas définie puisque le fichier qui la déclare n'a pas été trouvé...

Même problème qu'Adrien, le code source se ressemble :

<?php dsp_crypt(0,1); ?>
<p><input type="text" name="code" /></p>
<p><input type="submit" name="envoyer" value="Envoyer" />
</p>

je veux bien rajouter $mavar="essai"; et fais un echo $mavar; mais à quel endroit exactement ?

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...