PHP et HTML

PHP et HTML - PHP - Programmation

Marsh Posté le 09-02-2005 à 17:15:22    

Bonjour,
J'ai une question de newbie que je me pose avant de commencer à faire mon site.
Je voudrais faire un site classique avec une BDD derrière. Vau-t-il mieux que je code en PHP pur (et mes balises HTML je les mets dans des printf) ou vaut-il mieux que je code en HTML avec mes parties en PHP dans des "<? ... ?>" ?
Ou 3ème solution qui n'est peu être pas la plus éloignée de la réalité : j'ai rien compris à comment il fallait développer un site web  :whistle:

Reply

Marsh Posté le 09-02-2005 à 17:15:22   

Reply

Marsh Posté le 09-02-2005 à 17:16:11    

c'est comme tu le sens...moi je mets tout dans le code php, mais suivant les cas ça peut être très lourd...[:skeye]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 09-02-2005 à 17:21:25    

et dans ce cas je mets toutes mes entetes html dans des printf alors ? (même mes fonctions javascript ?

Reply

Marsh Posté le 09-02-2005 à 17:23:59    

mirascheat a écrit :

et dans ce cas je mets toutes mes entetes html dans des printf alors ? (même mes fonctions javascript ?


 
wala...mais tu n'es pas obligé de faire comme moi hein...
Perso j'utilise le minimum de html possible, et pas du tout de javascript...c'ets pas forcément la meilleure méthode pour tout le monde![:skeye]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 09-02-2005 à 17:31:59    

skeye a écrit :

wala...mais tu n'es pas obligé de faire comme moi hein...
Perso j'utilise le minimum de html possible, et pas du tout de javascript...c'ets pas forcément la meilleure méthode pour tout le monde![:skeye]


 
avec jedit, mettre des echo "\n"; ou des print "\n"; autour du html se fait en un click de bouton. J'ai même fait une macro qui s'occupe de paragraphes entiers.  :D  

Reply

Marsh Posté le 09-02-2005 à 17:32:04    

d'autres avis dans ce cas-là ???
sinon avantages/inconvenients de chaque methode
merci :)

Reply

Marsh Posté le 09-02-2005 à 17:32:36    

mirascheat a écrit :

d'autres avis dans ce cas-là ???
sinon avantages/inconvenients de chaque methode
merci :)


 
lisibilité. Le reste c'est de la branlette.  :o

Reply

Marsh Posté le 09-02-2005 à 17:33:00    

Hermes le Messager a écrit :

avec jedit, mettre des echo "\n"; ou des print "\n"; autour du html se fait en un click de bouton. J'ai même fait une macro qui s'occupe de paragraphes entiers.  :D


Faudrait que je em fasse une macro emacs, tiens...[:moule_bite]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 09-02-2005 à 17:36:46    

skeye a écrit :

Faudrait que je em fasse une macro emacs, tiens...[:moule_bite]


 
Ben quand on fait ça souvent, c'est quand même la moindre des choses. [:dawa] On gagne un temps considérable et on risque pas d'oublier les \ un peu partout. [:dawa]

Reply

Marsh Posté le 09-02-2005 à 17:38:36    

Hermes le Messager a écrit :

Ben quand on fait ça souvent, c'est quand même la moindre des choses. [:dawa] On gagne un temps considérable et on risque pas d'oublier les \ un peu partout. [:dawa]


 
Bof...et j'ai pas fait de macro emacs depuis des lustres...[:joce]
De toute manière j'utilise très peu, moi...quasiment tout ce que j'affiche est paramétrable et donc je fais presque qu'afficher des variables php...:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 09-02-2005 à 17:38:36   

Reply

Marsh Posté le 09-02-2005 à 17:55:10    

Moi je met zéro html dans le code, sinon dès que t'as une modif de ton html à faire, tu galère. Vaut-mieux utiliser des système de templates :)

Reply

Marsh Posté le 09-02-2005 à 17:56:36    

FlorentG a écrit :

Moi je met zéro html dans le code, sinon dès que t'as une modif de ton html à faire, tu galère. Vaut-mieux utiliser des système de templates :)


Pareil pour moi.

Reply

Marsh Posté le 09-02-2005 à 18:03:35    

Bon je me suis decode a faire du php pur , resultat :
 

Code :
  1. <?
  2. $host = "localhost";
  3. $user = "root";
  4. $password = "";
  5. echo "<html>";
  6. echo "<head>";
  7. echo "<basefont color=\"white\">";
  8. echo "<title>Good Traders</title>";
  9. echo "<style>.ns {text-decoration: none;}</style>";
  10. echo "<script type=\"text/javascript\">";
  11. echo "function makevisible(img,td1,td2,td3,which){";
  12. echo "document.getElementById(td1).style.fontWeight= (which == 1 ? \"bold\" : \"normal\" )";
  13. echo "document.getElementById(td2).style.fontWeight= (which == 1 ? \"bold\" : \"normal\" )";
  14. echo "document.getElementById(td3).style.fontWeight= (which == 1 ? \"bold\" : \"normal\" )";
  15. echo "strength = (which == 1 ? 1 : 0.5)";
  16. echo "if (document.getElementById(img).style.MozOpacity)";
  17.  echo "document.getElementById(img).style.MozOpacity=strength";
  18. echo "else if (document.getElementById(img).filters)";
  19.  echo "document.getElementById(img).filters.alpha.opacity=strength*100";
  20. echo "}";
  21. echo "</script>";
  22. echo "</head>";
  23. echo "<body bgcolor=\"black\" link=\"white\" alink=\"white\" vlink=\"white\">";
  24. echo "<br>";
  25. echo "<table width=\"100%\" height=\"100%\">";
  26. echo "<tr align=\"center\">";
  27.  echo "<td valign=\"top\">";
  28.   echo "<table width=\"40%\" cellspacing=\"0\">";
  29.    echo "<tr align=\"center\">";
  30.     echo "<td width=\"10%\"></td>";
  31.     echo "<td width=\"10%\"></td>";
  32.     echo "<td width=\"10%\"></td>";
  33.     echo "<td width=\"10%\"></td>";
  34.    echo "</tr>";
  35.     $link = mysql_connect($host, $user, $password);
  36.     mysql_select_db('mirascheat', $link);
  37.     $selection = mysql_query("select country, name, email, website from goodtraders" ) or die("Requête impossible" );
  38.     $nombreligne = mysql_num_rows($selection) or die("Requête impossible" );
  39.     $i = 0;
  40.     while ($i<$nombreligne){
  41.      $country = mysql_result($selection,$i,"country" ) or die("Requête impossible" );
  42.      $name = mysql_result($selection,$i,"name" ) or die("Requête impossible" );
  43.      $email = mysql_result($selection,$i,"email" ) or die("Requête impossible" );
  44.      $website = mysql_result($selection,$i,"website" ) or die("Requête impossible" );
  45.      echo "<tr align=\"center\" onMouseover=\"makevisible(\"img1\",\"td1\",\"td2\",\"td3\",1)\" onMouseout=\"makevisible(\"img1\",\"td1\",\"td2\",\"td3\",0)\"> ";          printf("<td><img src="images/$country.gif" border="0" width="24" height="16" style="filter:alpha(opacity=50);-moz-opacity:0.5" id="img1"></td> ";
  46.       echo "<td id=\"td1\">$name</td>";
  47.       echo "<td id=\"td2\"><a href=mailto:$email class=\"ns\">Email</td>";              printf("<td id="td3"><a href="$website" target="_blank" class="ns">Website</a></td>" );
  48.      echo "</tr>";
  49.          $i++;
  50.     }
  51.   echo "</table>";
  52.  echo "</td>";
  53. echo "</tr>";
  54. echo "<tr>";
  55.  echo "<td align=\"center\" valign=\"bottom\"><a href=\"javascript:history.go(-1)\" target=\"bas\" class=\"ns\"><h2><b>Back</b></h2></a></td>";
  56. echo "</tr>";
  57. echo "</table><br>";
  58. echo "</body>";
  59. echo "</html>";
  60. ?>


 
erreur :

Code :
  1. Parse error: parse error, unexpected T_STRING in c:\program files\easyphp\home\thomas\goodtraders2.php on line 50


 
Par ailleurs toute remarque sur mon code sera appréciable
merci  :p


Message édité par mirascheat le 09-02-2005 à 18:04:10
Reply

Marsh Posté le 09-02-2005 à 18:05:43    

Voilà ce qui arrive quand tu fait du php ''''pur'''' :
Tu augmentes le risque d'erreur de syntaxe * 1000 avec tous ces escapes de code :/ En plus si t'as une modif à faire dans ton code HTML, tu galère à tout réécrire :( Enfin si tu veux tester genre ton design ou ta page, sans php, t'es baisé :(

Reply

Marsh Posté le 09-02-2005 à 18:05:58    

FlorentG a écrit :

Moi je met zéro html dans le code, sinon dès que t'as une modif de ton html à faire, tu galère. Vaut-mieux utiliser des système de templates :)


 
Un modif du HTML ? Pourquoi faire ?
 
Un site bien conçu contient tout ce qu'il faut pour changer l'apparence du site au niveau des CSS. [:spamafote]

Reply

Marsh Posté le 09-02-2005 à 18:07:58    

Hermes le Messager a écrit :

Un modif du HTML ? Pourquoi faire ?
 
Un site bien conçu contient tout ce qu'il faut pour changer l'apparence du site au niveau des CSS. [:spamafote]


C'est au cas où :( Et comme dit, ça alourdi gravement le code tous ces echo

Reply

Marsh Posté le 09-02-2005 à 18:08:01    

Perso (chacun ses goûts) je suis pour en écrire le moins possible.
 
Exemple :  
 
echo '<p class="p_titre">Votre recherche sur ' . $liste_motscles;
 
au lieu de mettre des antislashs partout.
 
Pourquoi ne pas ressortir le HTML du PHP ? Parce que je passais des heures à rechercher où j'avais fermé une balise PHP de trop.
 
Et quand il y a du Javascript, je le sors carrément du PHP.
 
Trop dangereux [:totoz]
 
PS : si tu ne le fais pas déjà, teste ton site avec Firefox, qui a une console de debug Javascript intégrée. Très pratique.


Message édité par Fred999 le 09-02-2005 à 18:08:59
Reply

Marsh Posté le 09-02-2005 à 18:12:46    

comment faire des tableaux sans balise html ???

Reply

Marsh Posté le 09-02-2005 à 18:14:09    

Des tableaux sans balise html :??:

Reply

Marsh Posté le 09-02-2005 à 18:15:04    

Ha ça c'est impossible. Mais au moins pour la mise en forme générale de ton site (barre de menu, frame du haut...), le CSS est vraiment préférable.
 
Par contre, je vois des cellules vides dans ton tableau, ce n'est pas très joli.

Reply

Marsh Posté le 09-02-2005 à 18:16:12    

il n'y a pas de cellule vide dans mon tableau !?!
de toute facon je peux pas l'afficher j'ai toujours mon erreur :'(

Reply

Marsh Posté le 09-02-2005 à 18:16:58    

FlorentG a écrit :

Des tableaux sans balise html :??:


 
ne dis-tu pas que tu mets zero html dans ton code ???

Reply

Marsh Posté le 09-02-2005 à 18:18:29    

mirascheat a écrit :

ne dis-tu pas que tu mets zero html dans ton code ???

J'ai peur de ne pas comprendre...

Reply

Marsh Posté le 09-02-2005 à 18:18:58    

echo "<td width=\"10%\"></td>";
 
Ca c'est une cellule vide.
 
Sinon, tu as aussi la connexion à la BDD dans ton code, je te conseille de ressortir ça dans un fichier que tu appelleras par include().

Reply

Marsh Posté le 09-02-2005 à 18:20:01    

dans la comprehension que j'ai du dev web les balises pour faire des tableaux sont du html ... hors tu dis que ton code il y a zero html ... donc je te demande comment faire des tableaux sans html ... je dois surement faire une erreur de raisonnement ...

Reply

Marsh Posté le 09-02-2005 à 18:20:19    

mirascheat a écrit :

Vau-t-il mieux que je code en PHP pur (et mes balises HTML je les mets dans des printf) ou vaut-il mieux que je code en HTML avec mes parties en PHP dans des "<? ... ?>" ?


j'utilise smarty, système de template assez complet, donc zero html dans le code.
 
Pour les adeptes du echo ou du print, je vous conseille la syntaxe EOF qui évite de se prendre la tête avec les \


Message édité par soju le 09-02-2005 à 18:20:43
Reply

Marsh Posté le 09-02-2005 à 18:20:37    

mirascheat a écrit :

dans la comprehension que j'ai du dev web les balises pour faire des tableaux sont du html ... hors tu dis que ton code il y a zero html ... donc je te demande comment faire des tableaux sans html ... je dois surement faire une erreur de raisonnement ...

Avec des templates ;)

Reply

Marsh Posté le 09-02-2005 à 18:21:22    

Fred999 a écrit :

echo "<td width=\"10%\"></td>";
 
Ca c'est une cellule vide.
 
Sinon, tu as aussi la connexion à la BDD dans ton code, je te conseille de ressortir ça dans un fichier que tu appelleras par include().


 
a oui tu as raison ;)
en fait j'ai fait juste ca pour donner la dimension des futures cellules de mon tableaux dans les lignes suivantes ... existe-til un moyen de mieux proceder ?
merci

Reply

Marsh Posté le 09-02-2005 à 18:23:04    

Bin tu donnes les dimensions dans les lignes suivantes non ?
 
Un expert en présentation de code pour confirmer ?

Reply

Marsh Posté le 09-02-2005 à 18:24:54    

Par contre y'a des trucs super chelous dans ton HTML, genre :

<basefont color="white">

Ca j'ai jamais vu :??:

Reply

Marsh Posté le 09-02-2005 à 18:27:58    

ok il faut que je fasse "color=#FFFFFF" c'est ca ?
merci pour l'astuce fred999

Reply

Marsh Posté le 09-02-2005 à 18:28:43    

FlorentG a écrit :

Avec des templates ;)


 
Ouai, ben moi, les templates, je trouve ça bien lourd... :/
 
 

Reply

Marsh Posté le 09-02-2005 à 18:32:46    

mirascheat a écrit :

ok il faut que je fasse "color=#FFFFFF" c'est ca ?
merci pour l'astuce fred999

Nope, c'est juste que la balise <basefont> n'existe pas du tout...

Reply

Marsh Posté le 09-02-2005 à 18:36:56    

basefont n'existe pas ou n'existe plus ? il me semble que c'est ce que j'ai trouve dans mon bouquin d'html 4 ... il faut mettre quoi alors ?

Reply

Marsh Posté le 09-02-2005 à 18:49:34    

en tout cas personne pour voir mon pb php ???
merci

Reply

Marsh Posté le 09-02-2005 à 18:51:17    

mirascheat a écrit :

basefont n'existe pas ou n'existe plus ? il me semble que c'est ce que j'ai trouve dans mon bouquin d'html 4 ... il faut mettre quoi alors ?

Met-toi à l'XHTML 1.0 Strict, ce ne sera que bénéfique.
Pour ton bouquin, soit il date de y'a 5 ans, soit il est pas à jour :(

Reply

Marsh Posté le 09-02-2005 à 18:52:39    

avril 2002 : c'est le html 4 pour les nuls ...

Reply

Marsh Posté le 09-02-2005 à 18:57:12    

mirascheat a écrit :

avril 2002 : c'est le html 4 pour les nuls ...


Ok, basefont existe en HTML 4, mais est deprecated, donc plus valide. Et l'HTML 4.01, sortit en 1999, ne fait plus mention de cet élément...

Reply

Marsh Posté le 09-02-2005 à 19:06:53    

ou en est ou d'html actuellement ?
et sinon mon pb php :)

Reply

Marsh Posté le 09-02-2005 à 19:11:33    

On en est à l'élaboration de l'XHTML 2, donc dans l'ordre :
HTML 4.01
XHTML 1
XHTML 1.1
XHTML 2.0
 
Actuellement, on peut utiliser l'XHTML 1.1 qui est supporté chez tout le monde. Le 1.1 ne l'est pas encore par contre, certains modules (Ruby) ne sont pas gérés par les navigateurs.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed