5568 sujets

Sémantique web et HTML

Bonjour,

Peut être qqn va t'il pouvoir m'aider ? Je suis en plein dans un essai de création de formulaire , le formulaire est créé ( il est basique je précise, c'est surtout pour comprendre le mécanisme) voici son code :

<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>formulaire abonnement consult asso</title>
<style type="text/css"></style>
</head>
<body style="color: rgb(0, 0, 0); background-color: rgb(204, 204, 255);"
alink="#000099" link="#000099" vlink="#990099">
<form
style="border: 4px groove rgb(0, 0, 153); margin-top: 100px; padding-top: 7px; background-color: rgb(51, 51, 255); font-family: Arial,Helvetica,sans-serif; color: white; font-size: large;"
method="post" action="traitement.php"
name="abonnement consult asso.php"><img
style="width: 383px; height: 336px; float: right; margin-right: 100px; margin-top: 50px;"
alt="consult asso" src="image/logo%20transparent%20en%20gif.gif"><br>
&nbsp; Prénom : <input name="prenom"><br>
<br>
&nbsp; Nom :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input name="nom"><br>
<br>
&nbsp; Adresse : <input name="adresse"><br>
<br>
&nbsp; Ville :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input name="ville"><br>
<br>
&nbsp; CP :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input
name="cp"><br>
<br>
&nbsp; Mail :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input
name="mail"><br>
<br>
&nbsp;
Type abonnement : <input checked="checked" name="abonnement"
value=" 6 mois" type="radio">6 mois<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; <input name="abonnement" value="12 mois"
type="radio">12 mois<br>
<p class="titre">&nbsp;&nbsp; Message</p>
<fieldset id="message"> <textarea name="comments" rows="5" cols="40"></textarea>
</fieldset>
<br>
<br>
<input name="envoyer" type="submit">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <input name="tout effacer"
type="reset"><br>
<br>
<br>
<br>
</form>
</body>
</html>

Smiley sweatdrop pour le traiter j'ai mis en place le code php suivant dans un fichier baptisé "traitement.php" :


<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>traitement.php</title>
</head>
<body>
<br>
<?php $p = $_POST['prenom'];
$n = $_POST['nom'];
$a = $_POST['adresse'];
$v = $_POST['ville'];
$c = $_POST['CP'];
$mail = $_POST['mail']
$ab = $_POST['abonnement'];

echo "votre prenom est $p <br />";
echo "votre nom est $n <br />";
echo "vous habitez $a <br />";
echo "dans la ville de $v <br />";
echo "le code postal est $c <br />";
echo "votre adresse mail est $mail <br />";
echo "vous vous abonnez pour $ab <br />";

mail ("ecotimesecretariat@gmail.com", "Sondage", $message, "From: $n");
echo "Votre avis vient de m'&ecirc;tre envoy&eacute; <br />";
?>&nbsp;
</body>
</html>

Je mets ensuite tout çà en ligne grace à filezilla ....

et quand je vais à l'adresse du formulaire tout va bien je le remplis mais ensuite rien ne se passe... J'ai du omettre qqchose qq part mais ou ca fait plusieurs heures que je me prends la tete avec çà ...

J'ai cherché dans vos tutos mais rien n'y fait je n'y parviens pas . peut être un oeil expert pourra t'il m'aider , c'est assez important pour moi je dois rendre un travail pour ce samedi et je bloque là ...

Merci de ce que vosu pourrez faire pour moi

Bonjour,

Sur la forme, pour commencer, le code HTML fait plutôt peur. Pas de Doctype (?), des styles tous dans des attributs style plutôt que dans une feuille de styles externe (c'est mieux que des balises <font>, mais quand même...), pas de paragraphes mais des successions de <br>, et des successions d'espaces insécables (&nbsp;) pour faire des retraits. Je conseillerais bien un apprentissage des bases de HTML et CSS, et une refonte de ce code en essayant de faire quelque chose de plus propre. Vu qu'il s'agit d'un formulaire, utiliser des éléments LABEL (avec attribut for) serait pas mal.

Sur le fond:
- il faudrait s'assurer que le code HTML est valide (par exemple, la valeur de l'attribut name pour le formulaire me semble invalide);
- le code PHP semble à vue de nez correct, bien que pas du tout sécurisé;
- est-ce que tu fais bien tes essais sur un serveur web avec la gestion de PHP activée?
ouh là !!! apparemment c'est pas du tout terrible ce que j'ai fait bon dommage car ca m'aurait bien arrangé sur ce coup là ... en fait j'ai travaillé avec Kompozer c'est peut être pour cela qu'il a des façons spéciales de se présenter mon code html ... que pensez vous de ce style de logiciel ?

Pour ce qui est du serveur j'utilise filezilla et mon hébergeur est planet hoster ... Y a t'il quelque chose à activé sur filezilla pour que le PHP soit pris en charge ?

Merci pour les qques éclairages... je vais essayer de me repencher sur la question mais si vous pouvez me dire quoi pour Kompozer et sur filezilla pour gérer le PHP cela m'éviterait de m'avancer trop loin dans mes recherches ..

Merci @ vous Smiley smile
marich a écrit :
en fait j'ai travaillé avec Kompozer c'est peut être pour cela qu'il a des façons spéciales de se présenter mon code html ... que pensez vous de ce style de logiciel ?

Je pense que si on veut maitriser la qualité du code produit il vaut mieux apprendre les bases de HTML et CSS, les bonnes pratiques dans ce domaine, et rédiger son code «à la main», avec un éditeur de code quel qu'il soit.

marich a écrit :
Pour ce qui est du serveur j'utilise filezilla et mon hébergeur est planet hoster ... Y a t'il quelque chose à activé sur filezilla pour que le PHP soit pris en charge ?

Non, c'est du côté de l'hébergement que ça se passe. À priori l'hébergeur PlanetHoster propose PHP, et ça devrait être activé automatiquement.
Bonjour,

$message n'existe pas, un mail ne sera peut-être pas envoyé.

Il pourrait aussi être intéressant de tester l'envoi du mail:

$message =  "votre prenom est $p <br />";
$message .=  "votre nom est $n <br />";
$message .=  "vous habitez $a <br />";
$message .=  "dans la ville de $v <br />";
$message .=  "le code postal est $c <br />";
$message .=  "votre adresse mail est $mail <br />";
$message .=  "vous vous abonnez pour $ab <br />";

echo($message);

$valeurRetour = mail ("ecotimesecretariat@gmail.com", "Sondage", $message, "From: $n");
if($valeurRetour) {
echo("Le mail a été soumis pour livraison");
}
else {
echo("Problème: le mail n'a pas été soumis pour livraison");
}


En effet, même si le PHP est activé il est possible que l'envoi de mail ne le soit pas.

Cordialement,
Merci à pax et florent pour vos réponses j'en prends note et je me repenche sur le problème pour voir ce qui ne fonctionne pas ...je reviendrais dire ce qu'il en est !!! un grand merci
ca ne marche toujours pas j'ai revu mon code php et pourtant j'arrive toujours sur cette page

Not Found
The requested URL /traitement.php was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


--------------------------------------------------------------------------------

Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_perl/2.0.4 Perl/v5.8.8 Server at www.consultasso.fr Port 80[i]

Je ne comprends pas du tout ou ca cale ?

Mon nouveau code php est celui là


<p> <?php echo "votre prenom est htmlspecialchars ($_POST['prenom']); ?> </p>
<p> <?php echo "votre nom est htmlspecialchars ($_POST['nom']); ?> </p>
<p> <?php echo "vous habitez htmlspecialchars ($_POST['adresse']); ?> </p>
<p> <?php echo "dans la ville de htmlspecialchars ($_POST['ville']); ?> </p>
<p> <?php echo "le code postal est htmlspecialchars ($_POST['cp']); ?> </p>
<p> <?php echo "l'adresse mail est htmlspecialchars ($_POST['mail']); ?> </p>
<p> <?php echo "vous avez choisi l'abonnement htmlspecialchars ($_POST['ab']); ?> </p>

echo($message);
$valeurRetour = mail ("ecotimesecretariat@gmail.com", "Sondage", $message, "From: $n");
if($valeurRetour)
{
echo("Le mail a été soumis pour livraison");
}

else {

echo("Problème: le mail n'a pas été soumis pour livraison");

}

Merci d eme filer un coup de main j'ai vraiment du mal Smiley confus [/i]
Tu obtiens une erreur 404, "Page Not Found". Donc c'est pas sorcier, la page /traitement.php n'est pas sur le serveur. Il faut donc la mettre sur le serveur.
Il manque des guillemets dans ton code:

<p> <?php echo "votre prenom est htmlspecialchars ($_POST['prenom']); ?> </p>


devient:

<p><?php echo "votre prenom est " . htmlspecialchars($_POST['prenom']); ?></p>


ou:

<p>votre prenom est <?php echo htmlspecialchars($_POST['prenom']); ?></p>


Not Found
The requested URL /traitement.php was not found on this server.


Les 2 documents se trouvent bien à la racine du site ?

Fab
Modifié par thefab (28 Apr 2010 - 00:24)