[RESOLU] Formulaire de contact free ou nulled
-
Auteur du sujetOrimatema
- Habitué

- Messages : 148
- Enregistré le : il y a 4 ans
[RESOLU] Formulaire de contact free ou nulled
Bonjour
Comme je n'ai pas trop envie de me faire une formation php/javascript vite fait, je suis à la recherche d'un formulaire de contact fonctionnel en gratuit ou en "nulled", quoique j'en aie testé quelques uns sans succès car ils n'ont de "nulled" que l'étiquette (simple forms, conformy...)
Je suis allé sur php scripts en gratuit mais rien qui ne soit fonctionnel non plus
Si vous avez ce genre de ressource (c'est personnel) ou un/des sites qui en proposent des fiables, merci
(Je ne recherche pas de truc sophistiqué)
Comme je n'ai pas trop envie de me faire une formation php/javascript vite fait, je suis à la recherche d'un formulaire de contact fonctionnel en gratuit ou en "nulled", quoique j'en aie testé quelques uns sans succès car ils n'ont de "nulled" que l'étiquette (simple forms, conformy...)
Je suis allé sur php scripts en gratuit mais rien qui ne soit fonctionnel non plus
Si vous avez ce genre de ressource (c'est personnel) ou un/des sites qui en proposent des fiables, merci
(Je ne recherche pas de truc sophistiqué)
-
sharky
- Habitué

- Messages : 211
- Enregistré le : il y a 7 ans
Hello,
Il manque peut-être des prérequis ou des contraintes.
Comme je ne connais pas si c'est pour intégrer un CMS ou non, pourquoi ne pas utiliser google ou Microsoft forms selon le compte que tu as ?
Si par contre, tu as un CMS sur un hébergeur (Joomla, wordpress, drupal ...) il existe des extensions pour les ajouter et créer.
Sinon, voici quelques liens qui peuvent peut-être t'aider
https://www.freecontactform.com/forms/contact-form-free
https://www.easyphpcontactform.com/
https://github.com/aurelienpierreeng/St ... ntact-form
https://formspree.io/html/
Il manque peut-être des prérequis ou des contraintes.
Comme je ne connais pas si c'est pour intégrer un CMS ou non, pourquoi ne pas utiliser google ou Microsoft forms selon le compte que tu as ?
Si par contre, tu as un CMS sur un hébergeur (Joomla, wordpress, drupal ...) il existe des extensions pour les ajouter et créer.
Sinon, voici quelques liens qui peuvent peut-être t'aider
https://www.freecontactform.com/forms/contact-form-free
https://www.easyphpcontactform.com/
https://github.com/aurelienpierreeng/St ... ntact-form
https://formspree.io/html/
-
Auteur du sujetOrimatema
- Habitué

- Messages : 148
- Enregistré le : il y a 4 ans
Bonjour et déjà merci pour ta réponse @sharky
Le dispose d'un hébergement mutualisé et j'ai un site statique "vitrine" pour mes activités
J'aurais pu mettre en clair ou en crypté basique, mon adresse mail de contact mais je préfère une application serveur pour déjouer les robots (j'ai essayé de crypter l'adresse ail en javascript, en css, en image mais ça ne fonctionne pas, n'est pas "convivial" et ça ne fait pas "sérieux"
D'où la demande pour un script PhP
J'ai testé les deux premières ressources que tu proposes, sans résultat
Je vais voir pour les autres et je ferai un feedback
Le dispose d'un hébergement mutualisé et j'ai un site statique "vitrine" pour mes activités
J'aurais pu mettre en clair ou en crypté basique, mon adresse mail de contact mais je préfère une application serveur pour déjouer les robots (j'ai essayé de crypter l'adresse ail en javascript, en css, en image mais ça ne fonctionne pas, n'est pas "convivial" et ça ne fait pas "sérieux"
D'où la demande pour un script PhP
J'ai testé les deux premières ressources que tu proposes, sans résultat
Je vais voir pour les autres et je ferai un feedback
-
sharky
- Habitué

- Messages : 211
- Enregistré le : il y a 7 ans
Tu as raison, il est préférable de mettre un formulaire.
Mais ne soit pas bloqué sur le PHP, il n'est pas nécessaire d'avoir du PHP pour un formulaire. On le fait sans aussi.
Il est important de connaitre les méthodes d'envoi de mail de ton hébergeur. Car ton formulaire envoie un mail au bout du compte.
Sinon tout simplement
Il faut peut-être adapté selon tes méthode SMTP/POST de ton hébergement. Tu es chez qui ?
Mais ne soit pas bloqué sur le PHP, il n'est pas nécessaire d'avoir du PHP pour un formulaire. On le fait sans aussi.
Il est important de connaitre les méthodes d'envoi de mail de ton hébergeur. Car ton formulaire envoie un mail au bout du compte.
Sinon tout simplement
Code : Tout sélectionner
<?php
// contact.php
// 1) CONFIGURATION
$to = "contact@votre-domaine.fr"; // <-- Remplacez par votre adresse de réception
$siteName = "Mon site"; // <-- Optionnel (nom affiché dans l'objet)
// 2) INITIALISATION
$errors = [];
$success = false;
function clean_text(string $s): string {
$s = trim($s);
$s = str_replace(["\r", "\n"], " ", $s); // évite l'injection d'en-têtes
return $s;
}
function e(string $s): string {
return htmlspecialchars($s, ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8");
}
// 3) TRAITEMENT POST
$nom_prenom = $_POST["nom_prenom"] ?? "";
$email = $_POST["email"] ?? "";
$sujet = $_POST["sujet"] ?? "";
$message = $_POST["message"] ?? "";
// Champ anti-spam (honeypot) : doit rester vide
$website = $_POST["website"] ?? "";
if ($_SERVER["REQUEST_METHOD"] === "POST") {
// Honeypot
if ($website !== "") {
$errors[] = "Une erreur est survenue.";
}
// Validation
$nom_prenom = clean_text($nom_prenom);
$email = trim($email);
$sujet = clean_text($sujet);
$message = trim($message);
if ($nom_prenom === "") $errors[] = "Le champ « Nom & prénom » est obligatoire.";
if ($email === "" || !filter_var($email, FILTER_VALIDATE_EMAIL)) $errors[] = "Veuillez saisir une adresse e-mail valide.";
if ($sujet === "") $errors[] = "Le champ « Sujet » est obligatoire.";
if ($message === "") $errors[] = "Le champ « Message » est obligatoire.";
// Envoi
if (!$errors) {
$subject = "[" . $siteName . "] " . $sujet;
$body = "Nouveau message depuis le formulaire de contact\n\n";
$body .= "Nom & prénom : " . $nom_prenom . "\n";
$body .= "E-mail : " . $email . "\n";
$body .= "Sujet : " . $sujet . "\n\n";
$body .= "Message :\n" . $message . "\n";
$headers = [];
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-Type: text/plain; charset=UTF-8";
// From doit idéalement être une adresse du domaine (meilleure délivrabilité)
$headers[] = "From: " . $siteName . " <no-reply@votre-domaine.fr>";
// Reply-To permet de répondre directement au demandeur
$headers[] = "Reply-To: " . $email;
$ok = @mail($to, $subject, $body, implode("\r\n", $headers));
if ($ok) {
$success = true;
// Optionnel : vider les champs après succès
$nom_prenom = $email = $sujet = $message = "";
} else {
$errors[] = "Impossible d’envoyer le message pour le moment. Réessayez plus tard.";
}
}
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Contact</title>
</head>
<body>
<h1>Formulaire de contact</h1>
<?php if ($success): ?>
<p><strong>Merci.</strong> Votre message a bien été envoyé.</p>
<?php endif; ?>
<?php if ($errors): ?>
<div>
<p><strong>Merci de corriger les erreurs suivantes :</strong></p>
<ul>
<?php foreach ($errors as $err): ?>
<li><?php echo e($err); ?></li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
<form method="post" action="">
<p>
<label for="nom_prenom">Nom & prénom</label><br />
<input type="text" id="nom_prenom" name="nom_prenom" value="<?php echo e($nom_prenom); ?>" required />
</p>
<p>
<label for="email">Adresse e-mail</label><br />
<input type="email" id="email" name="email" value="<?php echo e($email); ?>" required />
</p>
<p>
<label for="sujet">Sujet</label><br />
<input type="text" id="sujet" name="sujet" value="<?php echo e($sujet); ?>" required />
</p>
<p>
<label for="message">Message</label><br />
<textarea id="message" name="message" rows="8" cols="40" required><?php echo e($message); ?></textarea>
</p>
<!-- Honeypot anti-spam : à laisser vide (ne pas renommer en "website" si vous avez déjà un champ réel "site web") -->
<div style="display:none;">
<label for="website">Website</label>
<input type="text" id="website" name="website" value="" autocomplete="off" />
</div>
<p>
<button type="submit">Envoyer</button>
</p>
</form>
</body>
</html>-
Auteur du sujetOrimatema
- Habitué

- Messages : 148
- Enregistré le : il y a 4 ans
Je suis hébergé chez o2switch et effectivement je bataille avec les ID SMTP
Deux coups de fil et 2 infos différentes...mais j'ai testé les deux sans succès
J'ai copié ton script, je vais voir ça dans la journée, merci
Deux coups de fil et 2 infos différentes...mais j'ai testé les deux sans succès
J'ai copié ton script, je vais voir ça dans la journée, merci
-
sharky
- Habitué

- Messages : 211
- Enregistré le : il y a 7 ans
Je ne connais pas o2switch. Et en plus pas de FAQ.
Il te faut donc ouvrir un ticket pour connaitre la méthode de soumissions de formulaire sur leur hébergement.
Il te faut donc ouvrir un ticket pour connaitre la méthode de soumissions de formulaire sur leur hébergement.
-
Auteur du sujetOrimatema
- Habitué

- Messages : 148
- Enregistré le : il y a 4 ans
https://www.o2switch.fr/
Bon, apparemment le problème est réglé chez mon hébergeur. A la suite d'un énième coup de fil on a su me donner les bons renseignements sur l'hôte SMTP et les indications de mes identifiants. Il aurait été dommage que je ne puisse pas me servir d'une ressource que j'ai achetée 40€ chez Envato!
Par contre je n'ai pas pu envoyer de mail avec les autres formulaires: le mail part (où?) et n'arrive jamais et ce sans message d'erreur
Merci @all pour l'aide apportée
Bon, apparemment le problème est réglé chez mon hébergeur. A la suite d'un énième coup de fil on a su me donner les bons renseignements sur l'hôte SMTP et les indications de mes identifiants. Il aurait été dommage que je ne puisse pas me servir d'une ressource que j'ai achetée 40€ chez Envato!
Par contre je n'ai pas pu envoyer de mail avec les autres formulaires: le mail part (où?) et n'arrive jamais et ce sans message d'erreur
Merci @all pour l'aide apportée
-
ThiWeb
- Administrateur

- Messages : 10184
- Enregistré le : il y a 17 ans
- Localisation : On earth
- Contact :
La bonne nouvelle : pour un **formulaire de contact simple, fiable, gratuit, sans prise de tête**, tu n’as *pas* besoin de te plonger dans une formation PHP/JS ni de chercher des scripts “nulled” (souvent incomplets, vérolés ou cassés).
Il existe des solutions **propres, gratuites, fonctionnelles**, et surtout **sans dépendances lourdes**.
Je te propose **3 options** :
1) un script PHP minimaliste **clé en main** (aucun JS requis)
2) une version un peu plus robuste avec validation côté serveur
3) des services externes gratuits si tu veux zéro backend
---
##
1. **Le formulaire PHP minimaliste (100% fonctionnel)**
C’est le plus simple possible : un fichier `contact.html` + un fichier `send.php`.
Pas de dépendances, pas de framework, pas de “nulled”.
### **contact.html**
```html
```
### **send.php**
```php
```
**Ça marche sur n’importe quel hébergement PHP**, même OVH, o2switch, LWS, etc.
Pas de dépendances, pas de JS, pas de librairies.
---
##
2. **Version un peu plus solide (validation + anti-spam léger)**
Si tu veux éviter les bots sans captcha :
### Ajoute un champ “honeypot”
Dans `contact.html` :
```html
```
Dans `send.php` :
```php
```
Et une validation email :
```php
```
Ça reste ultra simple mais beaucoup plus fiable.
---
##
3. **Si tu veux zéro backend : services gratuits fiables**
Sans PHP, sans JS, sans serveur, juste un formulaire HTML :
###
**FormSubmit** (gratuit, fiable)
Formulaire :
```html
```
###
**StaticForms**
Même principe, gratuit jusqu’à 100 envois/mois.
###
**Netlify Forms** (si ton site est statique)
Très fiable, mais nécessite d’héberger sur Netlify.
Ces services sont **bien plus fiables** que les scripts “nulled” que tu as testés.
---
##
4. **Sites qui proposent des scripts PHP gratuits et fonctionnels**
Voici des sources **fiables**, sans “nulled” :
- **phpjabbers.com [(phpjabbers.com in Bing)](https://www.bing.com/search?q="https%3A ... scripts%2F")**
Scripts gratuits, propres, maintenus.
- **[codeseek.co](https://codeseek.co)**
Beaucoup de snippets simples.
- **[github.com](https://github.com)**
Cherche “php contact form” → tu trouveras des scripts minimalistes et maintenus.
- **[codewithawa.com](https://codewithawa.com)**
Très simple, orienté débutants.
---
##
Conclusion
Vu ton besoin (“pas sophistiqué”, “fonctionnel”, “gratuit”), la **solution la plus simple et fiable** est le petit script PHP ci-dessus.
Tu le poses sur ton serveur, tu mets ton email, et ça tourne.
Si tu veux, je peux aussi te générer :
- un formulaire avec design propre (Bootstrap ou minimaliste)
- une version avec fichier de log
- une version avec envoi SMTP (plus fiable que `mail()`)
Souhaites-tu que je t’adapte le formulaire à ton site actuel via un formulaire personnalisé ou que je t’ajoute une version SMTP pour fiabilité maximale ?
Copilot![:[]: :copilot:](./images/smilies/copilot.png)
Il existe des solutions **propres, gratuites, fonctionnelles**, et surtout **sans dépendances lourdes**.
Je te propose **3 options** :
1) un script PHP minimaliste **clé en main** (aucun JS requis)
2) une version un peu plus robuste avec validation côté serveur
3) des services externes gratuits si tu veux zéro backend
---
##
C’est le plus simple possible : un fichier `contact.html` + un fichier `send.php`.
Pas de dépendances, pas de framework, pas de “nulled”.
### **contact.html**
```html
Code : Tout sélectionner
<form action="send.php" method="POST">
<label>Votre nom :</label>
<input type="text" name="name" required>
<label>Votre email :</label>
<input type="email" name="email" required>
<label>Message :</label>
<textarea name="message" required></textarea>
<button type="submit">Envoyer</button>
</form>### **send.php**
```php
Code : Tout sélectionner
<?php
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$name = htmlspecialchars($_POST["name"]);
$email = htmlspecialchars($_POST["email"]);
$message = htmlspecialchars($_POST["message"]);
$to = "ton-email@domaine.fr";
$subject = "Nouveau message depuis le formulaire";
$body = "Nom : $name\nEmail : $email\nMessage :\n$message";
$headers = "From: $email";
if (mail($to, $subject, $body, $headers)) {
echo "Message envoyé.";
} else {
echo "Erreur lors de l'envoi.";
}
}
?>---
##
Si tu veux éviter les bots sans captcha :
### Ajoute un champ “honeypot”
Dans `contact.html` :
```html
Code : Tout sélectionner
<input type="text" name="website" style="display:none">Dans `send.php` :
```php
Code : Tout sélectionner
if (!empty($_POST["website"])) {
exit("Spam détecté.");
}Et une validation email :
```php
Code : Tout sélectionner
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
exit("Email invalide.");
}Ça reste ultra simple mais beaucoup plus fiable.
---
##
Sans PHP, sans JS, sans serveur, juste un formulaire HTML :
###
Formulaire :
```html
Code : Tout sélectionner
<form action="https://formsubmit.co/ton-email@domaine.fr" method="POST">
<input type="text" name="name" required>
<input type="email" name="email" required>
<textarea name="message" required></textarea>
<button type="submit">Envoyer</button>
</form>###
Même principe, gratuit jusqu’à 100 envois/mois.
###
Très fiable, mais nécessite d’héberger sur Netlify.
---
##
Voici des sources **fiables**, sans “nulled” :
- **phpjabbers.com [(phpjabbers.com in Bing)](https://www.bing.com/search?q="https%3A ... scripts%2F")**
Scripts gratuits, propres, maintenus.
- **[codeseek.co](https://codeseek.co)**
Beaucoup de snippets simples.
- **[github.com](https://github.com)**
Cherche “php contact form” → tu trouveras des scripts minimalistes et maintenus.
- **[codewithawa.com](https://codewithawa.com)**
Très simple, orienté débutants.
---
##
Vu ton besoin (“pas sophistiqué”, “fonctionnel”, “gratuit”), la **solution la plus simple et fiable** est le petit script PHP ci-dessus.
Tu le poses sur ton serveur, tu mets ton email, et ça tourne.
Si tu veux, je peux aussi te générer :
- un formulaire avec design propre (Bootstrap ou minimaliste)
- une version avec fichier de log
- une version avec envoi SMTP (plus fiable que `mail()`)
Souhaites-tu que je t’adapte le formulaire à ton site actuel via un formulaire personnalisé ou que je t’ajoute une version SMTP pour fiabilité maximale ?
Copilot
-
Auteur du sujetOrimatema
- Habitué

- Messages : 148
- Enregistré le : il y a 4 ans
@ThiWeb:
C'est très gentil à toi de proposer de l'aide et je vais bien sûr tester les solutions que tu proposes, même si je ne les adopte pas, elles pourront toujours servir comme ressources d'apprentissage
Pour ce qui est de l'habillage d'un formulaire, ça je sais faire avec CSS et il faudrait que cela corresponde à la charte graphique de mon site
Je vais tester tout ça et je reviens te dire
Et merci pour les liens vers les ressources en ligne mais j'en ai déjà testé sans succès
C'est très gentil à toi de proposer de l'aide et je vais bien sûr tester les solutions que tu proposes, même si je ne les adopte pas, elles pourront toujours servir comme ressources d'apprentissage
Pour ce qui est de l'habillage d'un formulaire, ça je sais faire avec CSS et il faudrait que cela corresponde à la charte graphique de mon site
Je vais tester tout ça et je reviens te dire
Et merci pour les liens vers les ressources en ligne mais j'en ai déjà testé sans succès
-
Auteur du sujetOrimatema
- Habitué

- Messages : 148
- Enregistré le : il y a 4 ans
Last:
Dans tout ce que tu as proposé seul fonctionne correctement
###
**FormSubmit** (gratuit, fiable) avec une inscription of course mais le gratuit n'est valable que pour 7 jours avant qu'on ne soit sollicité pour un article payant ou de la publicité
Ce que je n'aime pas c'est qu'on soit obligé de valider l'envoi par l'activation du formulaire via notre adresse d'inscription, c'est un peu lourd...
Mais dans la mesure où le problème est réglé chez mon hébergeur je vais en rester là
Merci @Thiweb
Dans tout ce que tu as proposé seul fonctionne correctement
###
Ce que je n'aime pas c'est qu'on soit obligé de valider l'envoi par l'activation du formulaire via notre adresse d'inscription, c'est un peu lourd...
Mais dans la mesure où le problème est réglé chez mon hébergeur je vais en rester là
Merci @Thiweb
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités


