code php pour formulaire qui me pose problème - PHP - Programmation
Marsh Posté le 10-01-2017 à 23:52:42
<input type="submit" class="submit" name="submit" value="Envoyer">
--> <input type="submit" class="submit" name="envoi" value="Envoyer">
C'est pas bien de pomper du code ailleurs sans essayer de comprendre comment il fonctionne
Si tu veux te lancer dans le dév PHP, il vaudrait mieux d'abord commencer par apprendre les bases du HTML puis du PHP car manifestement, tu ne connais pas le HTML. Ce n'est aps un drame mais vu que le PHP permet, entres autres, de générer dynamiquement côté serveur du code HTML à afficher dans le navigateur (côté client donc), il vaudrait mieux d'abord maîtriser un minimum le HTML statique avant de penser à le générer dynamiquement.
--> openClassroom
Marsh Posté le 11-01-2017 à 00:23:56
j'essaie d'apprendre justement et je pars de rien, un petit peu d'indulgence,
en effet je prends des exemples de code et j'adapte à ce que je veux faire en essayant de comprendre mais j'apprends seule et ce n'est pas si facile
j'ai modifié ma ligne sur mon formulaire comme vous me l'indiquez mais maintenant au lieu d'avoir juste la phrase "vous devea d'abord envoyer le formulaire" ça m'affiche tout mon code php
mais merci d'avoir répondu
Marsh Posté le 11-01-2017 à 10:15:48
Est-ce que tu as au moins installé un serveur wamp (apache, php, mysql) ?
Si je peux me permettre une remarque sur ta façon d'apprendre : elle va être très longue avec assez peut d'efficacité. Va sur openClassroom : il y a de très bons tutos pour débuter :
HTML et CSS : https://openclassrooms.com/courses/ [...] l5-et-css3
PHP et Mysql : https://openclassrooms.com/courses/ [...] p-et-mysql
En effet, pour concevoir une appli web, on a besoin de pas mal de technos : HTML, CSS, Javascript côté client (navigateur), PHP et SQL (et parfois XML/XSLT) côté serveur. Bref, ça fait beaucoup de choses à assimiler et sans passer par un cours ou un guide structuré, ça va être compliqué...surtout si tu n'as aucune base en programmation (genre C/C++, Java...).
Bon courage en tout cas
Marsh Posté le 11-01-2017 à 18:29:56
rufo a écrit : Est-ce que tu as au moins installé un serveur wamp (apache, php, mysql) ? |
Bonsoir
oui j'ai installé MAMP
et j'ai déjà suivi plusieurs tutos de openclassrooms qui sont très bien, mais en effet ce n'est pas facile mais j'aime cela donc quand on aime on y arrive
pour l'instant je fais juste un petit site pas trop compliqué et je ne veux pas passer par des applications toutes faites où la structure est pareille pour tout le monde.
pour le moment grâce à de l'aide j'ai pu modifier le code et j'arrive à envoyer il me reste juste trois trucs qui ne vont pas
le mail arrive dans mes indésirables
et le troisième le message comme quoi le mail a bien été envoyé n'est pas beau et se trouve sur la page du formulaire
mais j'avance
Marsh Posté le 11-01-2017 à 22:09:10
Mac, c'est pas le plus adapté pour le dév
As-tu regardé du côté des CMS genre Wordpress. Toute la partie front-office peut être personnalisée et donc avoir une apparence totalement différente d'un site à l'autre. Quand on débute, ça peut être un bon guide...
Marsh Posté le 10-01-2017 à 21:12:14
Bonjour
Alors déjà pour me présenter je suis complètement novice dans ce domaine, mais il faut bien commencer un jour je vous demanderai d'être indulgent avec moi svp merci d'avance
voilà mon code php :
<?php
$destinataire = 'mon_nom@hotmail.fr';
$copie = 'oui';
$message_envoye = "Votre message nous est bien parvenu !";
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
if (!isset($_POST['envoi']))
{
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
function Rec($text)
{
$text = htmlspecialchars(trim($text), ENT_QUOTES);
if (1 === get_magic_quotes_gpc())
{
$text = stripslashes($text);
}
$text = nl2br($text);
return $text;
};
function IsEmail($email)
{
$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(???:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(??:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
return (($value === 0) || ($value === false)) ? false : true;
}
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$societe = (isset($_POST['societe'])) ? Rec($_POST['societe']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
$email = (IsEmail($email)) ? $email : '';
if (($nom != '') && ($societe != '')&& ($email != '') && ($telephone != '') && ($message != ''))
{
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
'Reply-To:'.$email. "\r\n" .
'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" .
'Content-Disposition: inline'. "\r\n" .
'Content-Transfer-Encoding: 7bit'." \r\n" .
'X-Mailer:PHP/'.phpversion();
if ($copie == 'oui')
{
$cible = $destinataire.';'.$email;
}
else
{
$cible = $destinataire;
};
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
$num_emails = 0;
$tmp = explode(';', $cible);
foreach($tmp as $email_destinataire)
{
if (mail($email_destinataire, $objet, $message, $headers))
$num_emails++;
}
if ((($copie == 'oui') && ($num_emails == 2)) || (($copie == 'non') && ($num_emails == 1)))
{
echo '<p>'.$message_envoye.'</p>';
}
else
{
echo '<p>'.$message_non_envoye.'</p>';
};
}
else
{
echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
};
};
?>
mon code html :
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Formulaire de contact</title>
<link href="form.css" rel="stylesheet" type="text/css">
</head>
<body>
<div
id="header">
</div>
<nav id="navigation">
<ul>
<li> <a href="index.html" target="new">Accueil</a> </li>
<li> <a href="prestations.html" target="new">Prestations</a> </li>
<li> <a href="qui-suis-je.html" target="new">Qui suis-je</a> </li>
<li> <a href="livre-d-or.html" target="new">Livre d'Or</a> </li>
<li> <a href="form.html" target="new">Contact</a> </li>
</ul>
</nav>
<div id="contenu">
<div class="title">Formulaire de contact</div><br/><br/><br/>
<form method="POST" action="traitement.php">
<p>
<label for="name">Nom*:</label><input type="text" name="name" class="input" required placeholder=""><br/><br/>
<label for="société">Société:</label><input type="text" name="name" class="input" placeholder=""><br/><br/>
<label for="email">Adresse email*:</label><input type="email" name="email" class="input" placeholder=""><br/><br/>
<label for="téléphone">Téléphone/Fax:</label><input type="tel" name="tél" class="input" placeholder=""><br/><br/>
<label for="msg">Votre message*:</label><textarea name="msg" class="msg" rows="10" cols="32" placeholder=""></textarea><br/>
<input type="submit" class="submit" name="submit" value="Envoyer">
</p>
</form>
</div>
<div id ="footer">
<p><img src="images/twitter.png" alt="logo twitter" height="15"/> droits réservés ©Serveur à la carte - 2017 <img src="images/facebook.png" alt="logo acebook" height="15" /></p>
</div>
</body>
</html>
et quand je teste ça me dirige sur une page avec ce message : Vous devez d'abord envoyer le formulaire.
et si j'enlève ce morceau de code: $message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
je tombe sur une page blanche et avec ou sans le code je ne reçois pas le mail.
j'ai besoin de votre aide, deux jours entiers que je suis là-dessus
Merci d'avance
---------------
Julie