Se connecter avec
S'enregistrer | Connectez-vous

formulaire php ne fonctionne pas correctement

Dernière réponse : dans Programmation

bonjour,
J'ai un formulaire sur mon site. Il fonctionne moyennement. L'inscription du formulaire fonctionne jusqu'à l'envoie automatique au webmaster du site et au client. il n'arrive pas à réinscrire correctement le formulaire, ligne décalé et manque de texte.
j'ai 4 fichiers

index.php

<html>
<head>
<title>GrafForm V.1</title>
<SCRIPT LANGUAGE="JavaScript">
/*
SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
http://www.editeurjavascript.com
*/
function VerifForm(formulaire)
{
adresse = formulaire.email.value;
var place = adresse.indexOf("@",1);
var point = adresse.indexOf(".",place+1);
if ((place > -1)&&(adresse.length >2)&&(point > 1))
{
formulaire.submit();
return(true);
}
else
{
alert('Veuillez inserer une adresse E-mail valide !\nSi votre E-mail est incorrecte, vous ne recevrez pas de réponse.');
return(false);
}
}
</SCRIPT>
<script type="text/javascript">

// Mots interdits. (ne tient pas compte de la casse : 'WaGoN' sera détecté comme 'wagon' )
var mots_interdits = new Array('gros con', 'conard', 'con', 'gros con', 'enculé', 'enculer', 'salope', 'pd', 'fuck', 'nike', 'nike ta mère', 'cul', 'pute');

// Si la variable suivante est à true, les mots interdits sont remplacés par des étoiles.
// Sinon, il sont effacés.
var RemplacementEtoiles = true;

// Nombre de caractères maximum du textarea
var Nombre_Caracteres_Maximum = 1000000000;

// Nombre de caractères minimimal à partir duquel il n'y a plus de doute :
// Le mot qui est scanné est bien un mot interdit.
// Valeur par défaut : 4
// EXEMPLE :
// Mettez le mot 'con' dans le tableau des mots interdits.
// Tapez le mot conSpiration.
// Mettez le curseur du textarea juste avant le S.
// Tapez un espace. ===> le mot 'con' est remplacé.
// Si vous mettez la variable suivante à 3, et que vous recommencez l'opération, vous ne pourrez pas taper le mot conspiration.
var Constante_Doute = 4;

</script>

<script type="text/javascript" src="limitation.js"></script>
</head>
<body bgcolor="#66CC99">
<center>
<form method="post" action="ok.php" onSubmit="return(VerifForm(this))">
<p>Pour nous contacter, remplissez le formulaire ci-dessous :</p>
<p>
<p>www.<input type="text" onKeyUp="Compter(this, this.form.CharRestant);" name="nom-domaine" size="20">
<select name="domaine">
<option>.fr</option>
<option>.com</option>
<option>.org</option>
<option>.net</option>
<option>.info</option>
<option>.biz</option>
<option>.be</option>
<option>.ca</option>
<option>.ch</option>
</select>
hébergement
<select name="hebergement">
<option>start 100 mo</option>
<option>red 250 mo</option>
<option>advance 500 mo</option>
<option>bronze 750 mo</option>
<option>platine 1024 mo</option>
</select>
<select name="annee">
<option>12 mois</option>
<option>24 mois</option>
</select>
</p>
<p>Nom<input type="text" onKeyUp="Compter(this, this.form.CharRestant);" name="nom" size="20">
Prénom<input type="text" onKeyUp="Compter(this, this.form.CharRestant);" name="prenom" size="20">
Société<input type="text" onKeyUp="Compter(this, this.form.CharRestant);" name="societe" size="20">
<br>
<br>
Votre E-mail :<br><input type="text" onkeyup="Compter(this, this.form.CharRestant);" name="email" size="40">
<br>
Tél:<input type="text" onkeyup="Compter(this, this.form.CharRestant);" name="telephone" size="10" maxlength="10">
<br>
Sujet du mail :<br><input type="text" onkeyup="Compter(this, this.form.CharRestant);" name="sujet" size="40">
<br>
<br>
Votre message :<br><textarea name="message" onkeyup="Compter(this, this.form.CharRestant);" cols="40" rows="3" style="Border-Color: #A1B3B9; Border-Style: dashed; Border-Width: 2px;background-color: #c2d2d7;"></textarea>
<br>
Nombre de caractères restant :
<input type="text" name="CharRestant" size="9" disabled="disabled">
</p>
<input type="submit" name="Submit" value="Envoyer" style="Border-Color: #A1B3B9; Border-Style: dashed; Border-Width: 2px;background-color: #c2d2d7;">
<input type="reset" name="Reset" value="Effacer" style="Border-Color: #A1B3B9; Border-Style: dashed; Border-Width: 2px;background-color: #c2d2d7;">
</form>
<p> </p>
<p><a href="../index.htm" target="_parent"><img src="../images/logo-keops-petit.jpg" width="200" height="117" border="0"></a>
</p>
</center>
</body>
</html>

config.php

<?php
// DEBUT DE LA CONFIGURATION
$prenomw = ("nicolas"); // Votre Prénom
$sitew =("http://www.keops-pc.com"); // Url de votre site
$emailw = "kp@keops-pc.com";
// FON DE LA CONFIGURATION
?>
<?
// NE MODIFIEZ PAS CE QUI SUIT ! LE SCRIPT POURRAIT NE PAS FONCTIONNER !
mail(
"$emailw",
"$sujet",
"Bonjour $prenomw,\nVotre formulaire de contact viens d'être rempli.\nVoici les informations de l'internaute :\n\nSon nom-domaine : $domaine\nSon domaine : $hébergement\nSon hebergement : $annee\nSon annee : $nom\nSon nom : $prenom\nSon Prenom : $societe\nSa societe : $telephone\nSon telephone : $mail\nSon E-mail : $email\nSon message pour vous :\n$message\n\n\nA très bientôt ...\n\nP.S.- Pour lui répondre, utilisez son E-mail : $email.\n\n\nCe script a été créer par keops-pc webmaster de http://www.keops-pc.com");
?>
<?
// NE MODIFIEZ PAS CE QUI SUIT ! LE SCRIPT POURRAIT NE PAS FONCTIONNER !
mail(
"$email",
"$sujet",
"Bonjour $prenom,\n\nVous recevez ce message car vous nous avez rempli le formulaire de contact du site : $sitew.\nVoici les informations que vous avez entré :\n\nSon nom-domaine : $domaine\nSon domaine : $hebergement\nSon hebergement : $annee\nSon annee : $nom\nSon nom : $prenom\nSon Prenom : $societe\nSa societe : $telephone\nSon telephone : $mail\nSon E-mail : $email\nSon message pour vous :\n$message\n\n\nAnVous recevrez une réponse dans les plus brefs délais.\n\n\nA très bientôt ...\n\n\nCe script a été créer par keops-pc webmaster de http://www.keops-pc.com");
?>

ok.php

<? include("config.php"); ?>
<?
// si les champs sont remplis
if(!empty($_REQUEST['prenom']) && !empty($_REQUEST['message']) && !empty($_REQUEST['sujet']) && !empty($_REQUEST['email'])){
echo '
<html>
<head>
<title>GrafForm V.1 - Formulaire envoyé</title>
</head>
<body bgcolor="#c2d2d7">
<center>Merci ', htmlentities($_REQUEST['prenom']),',<br><br>Votre message nous a bien été envoyé.<br>Voici les informations que vous avez entré :<br><br>
<b>Votre nom-domaine :</b> ', htmlentities($_REQUEST['nom-domaine']),'<br>
<b>Votre domaine :</b> ', htmlentities($_REQUEST['domaine']),'<br>
<b>Votre hebergement :</b> ', htmlentities($_REQUEST['hebergement']),'<br>
<b>Votre annee :</b> ', htmlentities($_REQUEST['annee']),'<br>
<b>Votre Nom :</b> ', htmlentities($_REQUEST['nom']),'<br>
<b>Votre Prénom :</b> ', htmlentities($_REQUEST['prénom']),'<br>
<b>Votre sociéte :</b> ', htmlentities($_REQUEST['sociéte']),'<br>
<b>Votre E-mail :</b> ', htmlentities($_REQUEST['email']),'<br>
<b>Sujet du mail :</b> ', htmlentities($_REQUEST['sujet']),'<br>
<b>Votre message :</b><br>', htmlentities($_REQUEST['message']),'<br><br><br>Vous allez recevoir une E-mail de confirmation.<br>Après ceci, nous vous répondrons dans les plus bref délais.<br><br>A très bientôt ...
<br><br><br><font size="2">© Copyright <a href="http://www.keops-pc.com" target="_Blank">keops-pc</a> - 2005</font></center>
</body>
</html>
';
}else{
echo '
<html>
<head>
<title>keops-pc - Erreur, formulaire pas envoyé</title>
</head>
<body bgcolor="#c2d2d7">
<center>
Désolé, une erreur est survenue.<br>Vous devez remplir correctement tous les champs !<br><br><br> [ <a href="#" onClick="history.back()">Retour</a> ]
<br><br><br><font size="2">© Copyright <a href="http://www.keops-pc.com" target="_Blank">keops-pc</a> - 2005</font>
</body>
</html>
';
}
?>

limitation.JScript Script File
var StrLen;
var Contenu;

Constante_Doute--;

function Etoiles(nb) {
v = '';
j=0;
while(j<nb) {
v += '*';
j++;
}
if(!RemplacementEtoiles) v = '';
return v;
}

function ReInit(valeur, nb, bool) {
if(bool == undefined) bool = false;
v = Etoiles(nb);
espace = (RemplacementEtoiles) ? ' ' : '';
Contenu = (! bool ) ? (valeur + v) : (v + espace + valeur);
StrLen = Contenu.length;
}

function Compter(Target, compteur) {
ReInit(Target.value, -1);
for(i=0; i<mots_interdits.length; i++) {
reg = new RegExp(' '+mots_interdits+' ', 'gi');
v = ' '+Etoiles(mots_interdits.length)+' ';

if((!RemplacementEtoiles)&&(i==0)) v += ' ';
ReInit(Contenu.replace(reg, v), -1);

if(Contenu.substring(0, mots_interdits.length+1).toLowerCase() == mots_interdits.toLowerCase()+' ')
ReInit(Contenu.substring(mots_interdits.length+1, StrLen), mots_interdits.length, true);

if((Contenu.substring(StrLen-mots_interdits.length, StrLen).toLowerCase() == mots_interdits.toLowerCase()) && (mots_interdits.length>Constante_Doute))
ReInit(Contenu.substring(0, StrLen-mots_interdits.length), mots_interdits.length);
/*
script par SirJojO ===> forums http://www.editeurjavascript.com/
*/
}
if (StrLen > Nombre_Caracteres_Maximum ) {
Erreur = false;
for(i=0; i<mots_interdits.length; i++) {
if(Contenu.substring(StrLen-mots_interdits.length, StrLen).toLowerCase() == mots_interdits.toLowerCase()) {
ReInit(Contenu.substring(0, StrLen-mots_interdits.length), mots_interdits.length, true);
Erreur = true;
}
}
if(!Erreur) ReInit(Contenu.substring(0,Nombre_Caracteres_Maximum), -1);
}
Target.value = Contenu;
compteur.value = Nombre_Caracteres_Maximum-StrLen;
}

Voilà alors si quelqu'un pouvait m'aider
Merci d'avance
Lassé par la pub ? Créez un compte

[Pour ton code, le bouton n'est pas là que pour faire joli.. C'est lui, le bouton de la balise
  1.  
.. Sinon, c'est illisible !!]

Déjà, évite d'utiliser des caractères accentués dans les noms de tes variables :lol:  !!! C'est ce qui empêche d'afficher les champs Hébergement, Année, Prénom et Société..

Après, j'aurais utilisé $_POST à la place de $_REQUEST, mais je ne sais pas tout du PHP :D ..

Sinon, pour le reste, je viens de faire un essai et je ne vois pas de décalages de texte [:spamafote] (évidemment, la citation ici est alignée à gauche et non centrée comme dans ta page ;) ) :

Citation :
Merci Pirlouit,

Votre message nous a bien été envoyé.
Voici les informations que vous avez entré :

Votre nom-domaine : test-depuis-ppc
Votre domaine : .fr
Votre hébergement :
Votre année :
Votre Nom : Johan
Votre Prénom :
Votre société :
Votre E-mail : j-et-p@test-depuis-ppc.fr
Sujet du mail : Essai formulaire
Votre message :
Ceci est un test du formulaire pour ton sujet sur Presence-PC..


Vous allez recevoir une E-mail de confirmation.
Après ceci, nous vous répondrons dans les plus bref délais.

A très bientôt ...

:jap: 

pour les accents, ok mais j'ai toujours le décalage.
voilà ce que ça me sort:
Bonjour ,
Votre formulaire de contact viens d'être rempli.
Voici les informations de l'internaute :

Son nom-domaine : .fr
Son domaine : start 100 mo
Son hebergement :
Son mois : bouv
Son nom : nicolas
Son Prenom : maison
Sa societe : 0479336518
Son telephone :
Son E-mail : nicolas.bouv@laposte.net
Son message pour vous :
mon espace web

La partie nom-domaine ne s'inscrit pas, et à partir de là ça se décale, voilà
Merci en tout cas de prendre du temps pour moi
A très bientôt ...

ben je ne vois pas ce que je peux faire de plus, pour que ça fonctionne.

<? include("config.php"); ?>
<?
// si les champs sont remplis
if(!empty($_POST['prenom']) && !empty($_POST['message']) && !empty($_POST['sujet']) && !empty($_POST['email'])){
echo '
<html>
<head>
<title>GrafForm V.1 - Formulaire envoyé</title>
</head>
<body bgcolor="#c2d2d7">
<center>Merci ', htmlentities($_POST['prenom']),',<br><br>Votre message nous a bien été envoyé.<br>Voici les informations que vous avez entré :<br><br>
<b>Votre nom-domaine :</b> ', htmlentities($_POST['nom-domaine']),'<br>
<b>Votre domaine :</b> ', htmlentities($_POST['domaine']),'<br>
<b>Votre hebergement :</b> ', htmlentities($_POST['hebergement']),'<br>
<b>Votre mois :</b> ', htmlentities($_POST['mois']),'<br>
<b>Votre Nom :</b> ', htmlentities($_POST['nom']),'<br>
<b>Votre Prenom :</b> ', htmlentities($_POST['prenom']),'<br>
<b>Votre societe :</b> ', htmlentities($_POST['societe']),'<br>
<b>Votre E-mail :</b> ', htmlentities($_POST['email']),'<br>
<b>Sujet du mail :</b> ', htmlentities($_POST['sujet']),'<br>
<b>Votre message :</b><br>', htmlentities($_POST['message']),'<br><br><br>Vous allez recevoir une E-mail de confirmation.<br>Après ceci, nous vous répondrons dans les plus bref délais.<br><br>A très bientôt ...
<br><br><br><font size="2">© Copyright <a href="http://www.keops-pc.com" target="_Blank">keops-pc</a> - 2005</font></center>
</body>
</html>
';
}else{
echo '
<html>
<head>
<title>keops-pc - Erreur, formulaire pas envoyé</title>
</head>
<body bgcolor="#c2d2d7">
<center>
Désolé, une erreur est survenue.<br>Vous devez remplir correctement tous les champs !<br><br><br> [ <a href="#" onClick="history.back()">Retour</a> ]
<br><br><br><font size="2">© Copyright <a href="http://www.keops-pc.com" target="_Blank">keops-pc</a> - 2005</font>
</body>
</html>
';
}
?>

Le pire c'est que sur le site ça me marque bien comme il faut mais après l'envoie sur les boites mail, il me manque la premiere ligne et le reste se décale.

Normalement ça devrait le marquer ça:

Son nom-domaine : new-texte
Son domaine : .fr
Son hebergement : start 100 mo
Son mois : 12 mois
Son nom : bouv
Son Prenom : nicolas
Sa societe : maison
Son telephone :0479336518
Son E-mail : nicolas.bouv@laposte.net
Son message pour vous :
mon espace web

ça doit être ça:

<?php
// DEBUT DE LA CONFIGURATION
$prenomw = ("nicolas"); // Votre Prénom
$sitew =("http://www.keops-pc.com"); // Url de votre site
$emailw = "kp@keops-pc.com";
// FON DE LA CONFIGURATION
?>
<?
// NE MODIFIEZ PAS CE QUI SUIT ! LE SCRIPT POURRAIT NE PAS FONCTIONNER !
mail(
"$emailw",
"$sujet",
"Bonjour $prénomw,\nVotre formulaire de contact viens d'être rempli.\nVoici les informations de l'internaute :\n\nSon nom-domaine : $domaine\nSon domaine : $hebergement\nSon hebergement : $mois\nSon mois : $nom\nSon nom : $prenom\nSon Prenom : $societe\nSa societe : $telephone\nSon telephone : $mail\nSon E-mail : $email\nSon message pour vous :\n$message\n\n\nA très bientôt ...\n\nP.S.- Pour lui répondre, utilisez son E-mail : $email.\n\n\nCe script a été créer par keops-pc webmaster de http://www.keops-pc.com");
?>
<?
// NE MODIFIEZ PAS CE QUI SUIT ! LE SCRIPT POURRAIT NE PAS FONCTIONNER !
mail(
"$email",
"$sujet",
"Bonjour $prénom,\n\nVous recevez ce message car vous nous avez rempli le formulaire de contact du site : $sitew.\nVoici les informations que vous avez entré :\n\nSon nom-domaine : $domaine\nSon domaine : $hebergement\nSon hebergement : $mois\nSon mois : $nom\nSon nom : $prenom\nSon Prenom : $societe\nSa societe : $telephone\nSon telephone : $mail\nSon E-mail : $email\nSon message pour vous :\n$message\n\n\nAnVous recevrez une réponse dans les plus brefs délais.\n\n\nA très bientôt ...\n\n\nCe script a été créer par keops-pc webmaster de http://www.keops-pc.com");
?>

mhemmed a dit :
je demandai de l'aide pas qu'on me gueule après.
Bref, j'ai fait autrement, maitenant ça marche.

[mode agacé on]
Tu aurais lu les règles du forum, utilisé les bons boutons pour les bonnes balises et évité de nous montrer un relatif mépris, ce ne serait pas arrivé..

Nous acceptons bien aimablement et gratuitement d'aider tous ceux qui ont des soucis alors que nous n'avons pas toujours beaucoup de temps pour le faire.. Nous aussi avons d'autres activités très prenantes et bien plus vitales..

Tu peux comprendre que nous n'avons pas le temps de jouer des heures au petit Sherlock Holmes percequ'un p'tit malin reste sourd au fonctionnement correct de l'endroit.. Le jour où toi même seras amené à aider quelqu'un en difficulté, tu seras le premier heureux d'avoir des informations claires..

Maintenant, il existe d'autres forums qui acceptent tout et n'importe quoi.......... Mais aucun de forums sérieux que je connais (quelle que soit la langue) ne le tolère bien longtemps..
[/mode agacé off]

:jap: 
Lassé par la pub ? Créez un compte