Probleme de controle W3C

zatox Messages postés 663 Statut Membre -  
zatox Messages postés 663 Statut Membre -
Bonjour, j'ai un probleme au controle W3C, voici ce que j'ai écris:

If ($trouve == 0)
{?>

<script type="text/javascript"> alert('Aucun enregistrement trouvé');</script>

<form action="page7.2.php" method="post">
<div>
<input type="submit" value="Nouvelle saisie" />
</div>
</form>

<form action="page7.php" method="post">
<div>
<input type="submit" value="Retour" />
</div>
</form>


<?php
}

Voici ce que dit la validation W3C:

Errors and Warnings

* Line 118, character 48:

... n="page7.2.php" method="post">
^

Error: element form not allowed here; possible cause is an inline element containing a block-level element
* Line 124, character 42:

... ion="page7.php" method="post">
^

Error: element form not allowed here; possible cause is an inline element containing a block-level element

Je ne somprends pas ces 2 erreurs, si quelqu'un peut m'aider ? merci pour voos réponses.
A voir également:

5 réponses

Utilisateur anonyme
 
Perso je (et je suis loin d'être le seul) trouve ça bien moche d'ouvrir et de refermer les balises de scripts php sans arrêt, c'est peut être à l'origine de ton problème (je ne sais pas te dire vraiment parce que je n'ai jamais mis d'html entre 2 parties de script php).

Je ne pense pas que ça soit la source de ton pb : mais if() c'est avec un i minuscule
0
zatox Messages postés 663 Statut Membre 66
 
Excusez le retard, moi aussi je trouve ça un pau moche d'ouvrir et de fermer les balises php sans arrêt, mais alors comment faut-il faire ? ok pour le I du if qui doit être en minuscule, mais pour les reste, il n'y a pas longtemps que je fais du php xhtml et peut-être qu'il y a quelque chose que je n'ai pas compris, si quelqu'un peut m'expliquer comment on fait pour ne pas ouvriri et fermer des balises php sans arrêt ?
Comment je fais pour faire if truc muche qui si j'ai bien compris est du php affiche le form machin truc et ça c'est du xhtml ?!!!! merci pour vos réponses
0
Utilisateur anonyme
 
Pour ne pas les ouvrir et fermer sans arrêt tu fais du print (ou echo). Ça rend ton code php comme "vrai programme" avec entrées/calculs/sorties. Au lieu d'avoir à fermer les balises pour mettre du code qui n'est pas du php, les rouvrir etc.
0
zatox Messages postés 663 Statut Membre 66
 
Tout d'abord je te remercie pour ta réponse, ce que tu me dis est très interressant car au début où j'ai commencé à faire du xhtml php, c'est un peu cette philosiphie que je voulais employer, à savoir comme tu dis avoir un code php comme vrai programme mais je n'y suis pas arrivé. Par contre je ne comprends pas le rapport avec le print ou l'echo !!! pourrais-tu me dire comment tu programmerais les quelques lignes que j'ai posté au début ? ça m'aiderai peut-être à comprendre, dans le code que j'ai écris je mets des echos à quels endroits et pour quoi faire ? j'avais cru comprendre qu'un echo servait à afficher quelque chose à l'utilisateur mais je crois qu'il doit me manquer une notion essentielle et j'avoue que pour le moment je ne vois pas laquelle !!! ce serait sympa si tu pouvais éclairer ma lanterne. J'ai fais de la programmation cobol, basic, visualbasic et dans ce style de programmation le principe consiste à exécuter une instruction puis on passe à la suivante. Peut-être faut-il voir les choses différemment en xhtml php !!! mais comment faut-il les voir ? merci pour ton aide.
0
Utilisateur anonyme
 
Je te réponds vite fait et je vais en cours.
D'abord, print ou echo fait la même chose : ça écrit.

if ($trouve == 0)
{
print "<script type=\"text/javascript\"> alert('Aucun enregistrement trouvé');</script> \n";
print "<form action=\"page7.2.php\" method=\"post\"> \n";
print "<div> \n";
print "<input type=\"submit\" value=\"Nouvelle saisie\" /> \n";
print "</div> \n";
print "</form> \n";

print "<form action=\"page7.php\" method=\"post\"> \n";
print "<div> \n";
print "<input type=\"submit\" value=\"Retour\" /> \n";
print "</div> \n";
print "</form> \n";
}

Tu peux bien sûr mettre un point pour concaténer au lieu du point virgule en fin de ligne, et ne pas mettre le print de la ligne suivante.
D'ailleurs il est aussi bien plus pratique pour mettre en commentaire que des <!-- -->
0
zatox Messages postés 663 Statut Membre 66
 
OK merci je comprends mieux, juste une question si tu as le temps je ne me rappelle plus à quoi sert le \ et \n
Encore merci pour ton aide.
0
Utilisateur anonyme
 
\ est le caractère d'échappement
Si tu mets n au lieu de \n, ça te mettra un n, alors que le caractère \n est un saut de ligne. (tout comme les \" pour ne pas les compter comme des fins de chaîne de caractères)
0

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

Posez votre question
zatox Messages postés 663 Statut Membre 66
 
D'accord, encore merci pour ton aide il n'est pas impossible que j'ai d'autres questions car je sens que j'ai pas mal de lacunes encore !!!
0