Formulaire .php dans site .html?

Fermé
Oliver37 Messages postés 35 Date d'inscription jeudi 16 janvier 2014 Statut Membre Dernière intervention 8 mai 2020 - 16 janv. 2014 à 02:49
 Utilisateur anonyme - 17 janv. 2014 à 21:11
Bonjour,

Un générateur de formulaires me dit d'insérer du code php avant du code html et
d'enregistrer la page en php, seulement toutes mes autres pages sont en html,
comment la faire fonctionner?
Dans le navigateur, un code s'affiche : de http:"; ....... jusqu'à //Fin de if POST?> puis le
formulaire avec ses champs.
Par contre j'ai testé le fichier formulaire.php avec Wamp en local : le formulaire s'affiche bien.

Voici le code :

<?php

// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}

// Vérifier que le formulaire a été envoyé...
if (isset($_POST['envoi'])) {



// Définir l'indicateur d'erreur sur zéro...
$flag_erreur = 0;

//On commence une session pour enregistrer les variables du formulaire...

session_start();


// N'envoyer le formulaire que s'il n'y a pas d'erreurs...
if ($flag_erreur == 0) {

// Addresse de réception du formulaire
$email_dest = "";
$sujet = "";
$entetes ="MIME-Version: 1.0 \n";
$entetes .="From: <>\n";
$entetes .="Return-Path: <>\n";
$entetes .="Reply-To: <>\n";
$entetes .="Content-Type: text/html; charset=utf-8 \n";
$partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=utf-8>\n</head>\n<body bgcolor=#FFFFFF>\n";


//Partie HTML de l'e-mail...


// Fin du message HTML
$fin = "</body></html>\n\n";

$sortie = $partie_entete . $partie_email_html . $fin;


// Send the e-mail
if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
echo("Envoi du formulaire impossible");
exit();
} else {

// Rediriger vers la page de remerciement
header("Location:");
exit();
} // Fin else
} // Fin du if ($flag_erreur == 0) {
} // Fin de if POST

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulaire Assistant Pro v2.0</title>
<style type="text/css">

body {
font-family:Verdana, Geneva, sans-serif;
font-size:12px;
background-color:#F5F1F1;
}

form {
padding: 8px;
}

div {
border: 0px solid black;

}
fieldset {
width: 600px;
margin: 0 auto;
}

legend {
}

label {
text-align: right;
width: 160px;
height:20px;
float: left;
clear: left;
margin-right: 10px;
margin-top: 4px;

}

select {
width: 158px;
}

textarea {
font-family:Verdana, Geneva, sans-serif;
font-size:12px;
}

.radio-label {
display:inline;
}

.radio-input {
margin-top: 5px;
}

.case-input {
margin-top: 5px;
}

.case-label {
display:inline;
}

.submit {
margin-left:168px;
}

.error {
text-align:center;
margin: 8px;
padding: 3px;
display:none;

}

.error-displayed {
text-align:center;
visibility:visible;
margin: 8px;
padding: 3px;
border: 2px solid #DC6461;
color: white;
background-color:#C00;
display:block;
}

.input-error {
background-color:#FFD7D7;
}

.liste {
width: 142px;
}

.liste-error {
background-color:#FFD7D7;
width: 142px;
}

textarea-error {
font-family:Verdana, Geneva, sans-serif;
font-size:12px;
background-color:#FFD7D7;
}

.captcha-img {
position:relative;
top: 5px;
padding-top:0px;
margin-bottom: 0px;
padding-bottom: 0px;
line-height:20px;
}

.captcha-input {
position:relative;
top: 0px;
}

.captcha-error {
position:relative;
top: 0px;
background-color:#FFD7D7;
}

</style></head>
<body>
<form name="formulaire" method="post" action="<?php echo($_SERVER['SCRIPT_NAME']); ?>">
<fieldset>
<legend>Formulaire de contact</legend>
<?php
if ($flag_erreur == 1) {
echo("<div id=\"error\" class=\"error-displayed\">$erreur</div><br />");
} else {
echo("<div id=\"error\" class=\"error\"></div><br />");
}
?><div class="submit"><input type="reset" name="Reset" value="Effacer" />
 
<input type="submit" name="envoi" value="Envoyer" /></div></fieldset></form>
</body></html>
A voir également:

5 réponses

Bonjour

Je suppose que quand tu dis "un code s'affiche", tu parles du code source php.
Si c'est bien ça, ça veut dire que le php n'est pas pris interpreté.
Soit tu ne l'as pas enregistrée en .php, soit ton hébergeur ne prend pas en compte le php.
Es-tu sûr que ton hébergeur gère le php ? Si tu as un doute, dis-nous quel est ton hébergeur.

Sinon, a priori, il n'y a aucun problème à mélanger des pages php et html.
0
Oliver37 Messages postés 35 Date d'inscription jeudi 16 janvier 2014 Statut Membre Dernière intervention 8 mai 2020
17 janv. 2014 à 14:45
Bonjour,

Merci pour ta réponse.
C'est bien le code source qui s'affiche.
Mon hébergeur est orange, mais je n'ai fait que tester le code dans FireFox,
sans mon hébergeur.
Il m'a bien été dit d'enregistrer le fichier .php, seulement ne fonctionnant avec FireFox, j'ai tenté en html.
Si j'ai bien compris, un fichier .php n'est utilisable qu'intégré dans un site en ligne. (et non dans un navigateur comme le code html).
S'il contient du code php avant du code html sur la même page, il est nécessairement enregistré au format php.

Je vais essayer ce fichier en ligne dans mon site.

Merci encore pour ces explications. :)
0
Utilisateur anonyme
17 janv. 2014 à 16:56
Tu peux très bien tester le php en local, à condition d'installer un serveur sur ton PC. C'est ce que font tous ceux qui écrivent en php.
Il y a des logiciels faciles à installer pour ça : par exemple xamp pour linux, wamp ou easyphp pour windows. Ce sont des logiciels qui regroupent en un seul paquet un serveur web (apache), le php et le gestionnaire de base de données mysql, plus quelques autres fonctions.
0
Tout à fait, dans votre 1er message vous dites utilisez WAMP.
Vérifiez que les serveurs sont démarrés(l'icône doit être vert, cliquez sur démarrer tout les services) et vous aurez un serveur Apache(qui permet de faire du PHP) fonctionnel.
En local vous simulez le comportement du serveur(qui sera à peu de choses près identique, ça serait inutile de faire des tests pour tomber sur quel chose de différent dès que l'on met en ligne)
Il faut que vous mettiez les fichiers dans le dossier de wamp prévu pour(WWW, il est accessible des menus de wamp, sinon vous allez dans les dossiers à partir de l'explorateur de fichiers).
Il faut que vous vous connectiez au serveur: celui est nommé localhost

Donc une fois les fichiers php au bon endroit vous pouvez taper dans le navigateur web:

localhost/monfichier.php


Autre précision: Un formulaire est toujours en HTML.
Le formulaire c'est les cases qui permettent d'envoyer des valeurs.
C'est là que PHP intervient puisque ces valeurs(variables en programmation) il faut les traiter.

Donc si vous avez un hébergeur qui vous fourni PHP et une base de données vous pouvez changer toutes les pages et les liens vers celle ci de .html à .php
Il est encore mieux d'ajouter sans changer les anciennes en ajoutant du php(ou seulement lorsque c'est nécessaire) donc ici pour votre formulaire vous ajoutez une page PHP qui fait le traitement des données du formulaire puis selon si vous devez les afficher ou non vous renvoyez une fois le PHP ayant fait son travail vers une page HTML pur, par exemple une page indiquant: les informations de votre formulaire ont bien été envoyées.
0
Oliver37 Messages postés 35 Date d'inscription jeudi 16 janvier 2014 Statut Membre Dernière intervention 8 mai 2020
17 janv. 2014 à 20:53
Bonsoir,

J'ai installé Wamp et Easy php pour windows seulement,
le serveur mail est à configurer. ex : activer la fonction mail à "on", ou modifier
php.ini.

Ca serai utile de me dire comment on fait?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
17 janv. 2014 à 21:11
Pardon, effectivement, j'avais oublié que tu avais dit que tu utilisais Wamp.
Par contre, ce n'est pas une bonne idée d'installer Wamp ET PHP : ça fait double emploi et au moins l'un des deux ne marchera pas si les deux sont démarrés.
En ce qui concerne le mauvais fonctionnement en ligne, la réponse est toute bête : pas de PHP chez Orange. C'est indiqué dans leur FAQ : https://pages.perso.orange.fr/pages-perso-error&r=404#Puis%20je%20utiliser%20du%20PHP%20sur%20les%20Pages%20perso%20Confirm%C3%A9s%20Orange?
0