tcheeb
Messages postés66Date d'inscriptionlundi 18 avril 2005StatutMembreDernière intervention27 octobre 2010 19 janv. 2006 à 20:40
Bonjour,
Merci Antho,
Réflexion complémentaire pour WhiteDwarf :
ton logeur à mis le register_globals à off, comme grand nombre depuis 4.2.0.
Tu monte ton code, te voilà bon pour corriger toutes tes pages si tu n'as pas respecté un minimum de syntax dont les variables globales.
Essaye de ne pas déclarer tes variables en (excusez moi pour la citation sur ce site mais...) ASP (vraiment excusez moi).
Deuxième réflexion:
ton code attend en post une variable, "expl: $code $_POST['code']", si tu l'envoie par la method get, le fait d'avoir utilisé les variables globales, sécurité "minimum" la variable ne sera pas acceptée(prise en considération). En revanche code $code, le script prendra la 1ère variable $code qui lui passe sous le code(main).
En dehors de failles possible, ou utilisation de ton formulaire, je te laisse faire le débog sur un script de 500 lignes utilisant des variables de sessions, cookies, post, get.
Voilà simplement pourquoi utiliser les varibles globales, c'est plus propre et plus sûr.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 19 janv. 2006 à 19:21
"ourrais tu m'expliquer pourquoi il est mieux de privilégier $_GET['votre_fichier'] par rapport à $votre_fichier ?"
vas dans ton php.ini, mets le register_globals à off et hop ça fonctionne plus sans le $_GET
ensuite l'avantage de ce type de méthode est que tu sais d'où proviennent tes variables, elles ne peuvent être écrasées par d'autres.
Mettons que tu prennes dans ton code echo $variable;
si le mec met dans l'url variable=blabla bah ton code va l'afficher (si tu n'as pas défini ta variable au début de ton script).
WhiteDwarf
Messages postés510Date d'inscriptionsamedi 29 décembre 2001StatutMembreDernière intervention23 mai 2008 19 janv. 2006 à 19:07
dsl pour le flood :D mais après avoir lus les post et surtout ceux sur la provenance de cette source, j'ai envie de dire que partager le code et les bonnes idées comme celles ci (bien que pas très compliqué et pas réellement novateur) est une bonne chose.
C'est justement la quantitée d'informations présentes sur ce site qui en fais sa richesse et qui à permis à beaucoup de monde d'évoluer dans le php assez rapidement (dont moi). Par contre c'est vrai que Takai aurait du citer sa source par respect pour son auteur. D'autre part siter des sources provenant d'autres sites permet aussi de découvrir de nouveaux site.
Très bon site pour la recherche de sources : www.google.fr ;)
Bon ok j'arrête... Bonne dev et @+
WhiteDwarf
Messages postés510Date d'inscriptionsamedi 29 décembre 2001StatutMembreDernière intervention23 mai 2008 19 janv. 2006 à 18:55
TCHEEB -> pourrais tu m'expliquer pourquoi il est mieux de privilégier $_GET['votre_fichier'] par rapport à $votre_fichier ? J'applique le $_GET[] suite à ce que j'ai lu sur ce site mais la je me demande subitement pourquoi... j'aime comprendre ce que je fais :p
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 17 janv. 2006 à 13:52
viking_force > label c'est complètement différent, je ne sais pas d'où il faut en mettre, mais en tout cas c'est pas valide sans. (j'ai pas essayé avec un div m'enfin de toute façon c'est crade je suis d'accord mais c'est comme ça...)
viking_force
Messages postés31Date d'inscriptionlundi 14 février 2005StatutMembreDernière intervention29 octobre 2008 17 janv. 2006 à 12:14
des dans un formulaire ça sent toujours mauvais :-)
d'où tu tiens qu'il faille mettre des dans un formulaire pour le rendre valide??
vont te servir a quoi ces paragraphes ???
Et la balise <label> elle sert a quoi alors ??
PS: Moi je dis merci a takai qui pense aux feignasses qui ne cherche pas sur le net en leur mettant les exemples des autres sites :o) (bon j'arrête mes blague ok)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 14 janv. 2006 à 18:27
ah bon d'accord t'as pas fait de strict, ouais autant ne pas s'embêter de toute façon...
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 14 janv. 2006 à 18:23
Re,
désolé mais le dtd utilisé ici est : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
J' ai pas cherché à faire du XHTML strict mais Transitional !!!!
J' aurais pu faire du xhtml 1.1 Strict mais quand on voit le code ça vaux pas le coup :-(
@+
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 14 janv. 2006 à 18:14
si encore le code était beau et qu'il donnait la source...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 14 janv. 2006 à 15:00
c'est pas valide xhtml strict ;-)
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 14 janv. 2006 à 13:06
Salut,
Anthomicro : "manque des dans le formulaire c'est pas valide sinon ^^"
il n' y a pas besoin de
pour que ce soit valide xhtml 1.0
J' ai passé le code au validateur xhtml de w3c : http://validator.w3.org/ This Page Is Valid XHTML 1.0 Transitional!
@+
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 14 janv. 2006 à 12:17
Le meilleur c'est qu'il est venu chialer sur mon site pour ne plus en faire partie (mdr). Tu vois l'esprit quoi ^^
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 14 janv. 2006 à 10:41
un copitage ???
c'est moche comme code, alors le copier n'est vraiment pas malin...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 13 janv. 2006 à 16:26
ImmortalPC : manque des dans le formulaire c'est pas valide sinon ^^
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 13 janv. 2006 à 11:03
Salut,
C' est pas propre du tout :@
C' est lent !!
Les normmes XHTML ???
$open_file = file($file);
$open_file = implode('', $open_file);
$open_file = eregi_replace ('<title>(.*)</title>', '<title>'.$_POST['ecrancrt'].'</title>', $open_file);//remplace le titre par la variable
unlink($file);// metrre un dossier vide sur le serveur
//copy($file, './Nouveau dossier/vide/');
$fichier = fopen($file, 'w+');//là j'ai un petit souci
fputs($fichier, $open_file);
fclose($fichier);
?>
@+
takai
Messages postés47Date d'inscriptionjeudi 24 novembre 2005StatutMembreDernière intervention13 août 2007 13 janv. 2006 à 10:32
bon ca va,
j'ai pensé que ca pouvait etre interressant d'envoyer ce code qu'on m'a demandé pour aider au référencement d'un site statique.Si j'avais su que ca déchainerait tant de critique...
c'est vrai que j'ai cherché un peu partout pour trouver la solution, mais bon moi j'en suis content d'autant plus que j'ai commencé php en décembre et que ca marche.Merci de ton aide anthomicro sur ton site
génial codephpnet. et puis voila.c'est vrai que vous devez pouvoir faire mieux, c'est aussi vrai que vous devez etre des pros, et c'est aussi vrai que j'ai plus tellement envie de participer aux forums php meme si je trouvais l'idée sympa donc salut a tous, amusez-vous bien !
Loubiou
Messages postés150Date d'inscriptionmercredi 26 juin 2002StatutMembreDernière intervention 5 décembre 2008 13 janv. 2006 à 06:31
Ok très bonne idée même si ça vient d'ailleur.
Soyons constructif, ce serait bien de pouvoir créer à la volée des pages html contenant un titre, une description, un balise keywords et une redirection sur la page d'entrée du site.
Je pense que là on aura un bon programme très utile pour le positionnement car il me semble que le grand google utilise les noms de pages plutot qu'autre chose comme le titre de la page.
En voilà une idée qu'elle est bonne non ? arff
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 12 janv. 2006 à 20:05
En même temps ce code est mal codé, je pense qu'il a voulu faire un signe à l'auteur en ne le citant pas ^^ (ok je sors)
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 12 janv. 2006 à 18:30
Merci à l'auteur de lire les conditions d'utilisation de ses copiés/collés:
"Ce document intitulé «PHP - Expressions régulières» issu de Comment Ça Marche est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
http://www.commentcamarche.net/ccmguide/ccmlicence.php3"
=)
tcheeb
Messages postés66Date d'inscriptionlundi 18 avril 2005StatutMembreDernière intervention27 octobre 2010 12 janv. 2006 à 18:15
Merci pour la précision Anthomicro,
J'avais trouvé ce bout de code répliqué sur d'autre sites. Mais je ne voulais le préciser, égard au commenaire sur sa fiche membre (takai).
mdr ;-))
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 12 janv. 2006 à 18:05
Franchement pomper un code pour proposer une source c'est vraiment la dernière chose à faire car d'une tu ne le mentionnes pas de deux le code est mauvais :-(
a +
juki_webmaster
Messages postés947Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 5 avril 20083 12 janv. 2006 à 14:39
De toute maniere comme c'est presenter le remplacement est mauvais!
Il faut parser le code HTML pour cela, gerer si l'ont ce trouve dans: une balise, une valeur d'une option de balise, un commentaire multi-ligne.. et que apres ont peux reelement extraire les balises <title></title>.
Avant cela ont aura forcer tout le document en minuscule bien evidemment...
Je sais car j'avais coder un code similaire en C.
tcheeb
Messages postés66Date d'inscriptionlundi 18 avril 2005StatutMembreDernière intervention27 octobre 2010 12 janv. 2006 à 12:10
Petite question? pour réflexion constructive et non pas pour critiquer?
Partons du principe que ton site de developpement n'est pas dans un répertoire
nommé EasyPHP, mais EasyPHP1-8 (par pur exemple).
Que la racine de ton site n'est pas www, mais dev_www. (http.conf).
Ne serait-il pas plus judicieux d'utiliser $_SERVER['document_root'] en place de ""...C:\\Program files\\EasyPHP\\www\\...". (vive le php language dynamique)
De plus du écrit : "...fopen("$file","r");//..." connais-tu la concaténation des variables.
;-))
A propos ta variable "...$votre_fichier..." elle vient d'où ? d' un post en method get ? alors privilégie $_GET['votre_fichier'];
PS: une solution avec dans ta problématique un fichier txt ou une solution avec un db, me semble plus appropriée. tu as 200 fichiers, tu vas poster un max pour mettre à jour ton site.
19 janv. 2006 à 21:26
http://php.benscom.com/manual/fr/security.globals.php
ou
http://ch2.php.net/variables.predefined
ou encore
http://www.vulgarisation-informatique.com/variables-constantes.php ;-))
19 janv. 2006 à 21:04
Y'a pas de mal, tout le monde sait que l'ASP c'est lent et crade (quoi il est où le troll ?)
"Pour conclure un peu de lecture : http://www.phpdebutant.org/article113.php"
Merde, ton commentaire était bon jusque là lol
19 janv. 2006 à 20:40
Merci Antho,
Réflexion complémentaire pour WhiteDwarf :
ton logeur à mis le register_globals à off, comme grand nombre depuis 4.2.0.
Tu monte ton code, te voilà bon pour corriger toutes tes pages si tu n'as pas respecté un minimum de syntax dont les variables globales.
Essaye de ne pas déclarer tes variables en (excusez moi pour la citation sur ce site mais...) ASP (vraiment excusez moi).
Deuxième réflexion:
ton code attend en post une variable, "expl: $code $_POST['code']", si tu l'envoie par la method get, le fait d'avoir utilisé les variables globales, sécurité "minimum" la variable ne sera pas acceptée(prise en considération). En revanche code $code, le script prendra la 1ère variable $code qui lui passe sous le code(main).
En dehors de failles possible, ou utilisation de ton formulaire, je te laisse faire le débog sur un script de 500 lignes utilisant des variables de sessions, cookies, post, get.
Voilà simplement pourquoi utiliser les varibles globales, c'est plus propre et plus sûr.
Pour conclure un peu de lecture : http://www.phpdebutant.org/article113.php
A++
19 janv. 2006 à 19:21
vas dans ton php.ini, mets le register_globals à off et hop ça fonctionne plus sans le $_GET
ensuite l'avantage de ce type de méthode est que tu sais d'où proviennent tes variables, elles ne peuvent être écrasées par d'autres.
Mettons que tu prennes dans ton code echo $variable;
si le mec met dans l'url variable=blabla bah ton code va l'afficher (si tu n'as pas défini ta variable au début de ton script).
19 janv. 2006 à 19:07
C'est justement la quantitée d'informations présentes sur ce site qui en fais sa richesse et qui à permis à beaucoup de monde d'évoluer dans le php assez rapidement (dont moi). Par contre c'est vrai que Takai aurait du citer sa source par respect pour son auteur. D'autre part siter des sources provenant d'autres sites permet aussi de découvrir de nouveaux site.
Très bon site pour la recherche de sources : www.google.fr ;)
Bon ok j'arrête... Bonne dev et @+
19 janv. 2006 à 18:55
17 janv. 2006 à 13:52
17 janv. 2006 à 12:14
d'où tu tiens qu'il faille mettre des dans un formulaire pour le rendre valide??
vont te servir a quoi ces paragraphes ???
Et la balise <label> elle sert a quoi alors ??
PS: Moi je dis merci a takai qui pense aux feignasses qui ne cherche pas sur le net en leur mettant les exemples des autres sites :o) (bon j'arrête mes blague ok)
14 janv. 2006 à 18:27
14 janv. 2006 à 18:23
désolé mais le dtd utilisé ici est : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
J' ai pas cherché à faire du XHTML strict mais Transitional !!!!
J' aurais pu faire du xhtml 1.1 Strict mais quand on voit le code ça vaux pas le coup :-(
@+
14 janv. 2006 à 18:14
14 janv. 2006 à 15:00
14 janv. 2006 à 13:06
Anthomicro : "manque des dans le formulaire c'est pas valide sinon ^^"
il n' y a pas besoin de
pour que ce soit valide xhtml 1.0
J' ai passé le code au validateur xhtml de w3c : http://validator.w3.org/
This Page Is Valid XHTML 1.0 Transitional!
@+
14 janv. 2006 à 12:17
14 janv. 2006 à 10:41
c'est moche comme code, alors le copier n'est vraiment pas malin...
13 janv. 2006 à 16:26
13 janv. 2006 à 11:03
C' est pas propre du tout :@
C' est lent !!
Les normmes XHTML ???
Voici le code remanié :
<!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" xml:lang="fr" lang="fr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>mettre a jour le site</title>
</head>
<form method="post" action="envoyer.php" enctype="application/x-www-form-urlencoded">
ecran crt
(.*)</title>', $line, $regs)){ //isole le titre
echo $regs[1]; //renvoie toute la chaine
break;
}
}
?>" />
</form>
</html>
-----------------------------------------------------------------------------------------------------------------------
code de envoyer.php
<?php
$file='./Header.php';
if(is_writable($file)){
echo 'yes';
}else{
echo 'no';
}
$open_file = file($file);
$open_file = implode('', $open_file);
$open_file = eregi_replace ('<title>(.*)</title>', '<title>'.$_POST['ecrancrt'].'</title>', $open_file);//remplace le titre par la variable
unlink($file);// metrre un dossier vide sur le serveur
//copy($file, './Nouveau dossier/vide/');
$fichier = fopen($file, 'w+');//là j'ai un petit souci
fputs($fichier, $open_file);
fclose($fichier);
?>
@+
13 janv. 2006 à 10:32
j'ai pensé que ca pouvait etre interressant d'envoyer ce code qu'on m'a demandé pour aider au référencement d'un site statique.Si j'avais su que ca déchainerait tant de critique...
c'est vrai que j'ai cherché un peu partout pour trouver la solution, mais bon moi j'en suis content d'autant plus que j'ai commencé php en décembre et que ca marche.Merci de ton aide anthomicro sur ton site
génial codephpnet. et puis voila.c'est vrai que vous devez pouvoir faire mieux, c'est aussi vrai que vous devez etre des pros, et c'est aussi vrai que j'ai plus tellement envie de participer aux forums php meme si je trouvais l'idée sympa donc salut a tous, amusez-vous bien !
13 janv. 2006 à 06:31
Soyons constructif, ce serait bien de pouvoir créer à la volée des pages html contenant un titre, une description, un balise keywords et une redirection sur la page d'entrée du site.
Je pense que là on aura un bon programme très utile pour le positionnement car il me semble que le grand google utilise les noms de pages plutot qu'autre chose comme le titre de la page.
En voilà une idée qu'elle est bonne non ? arff
12 janv. 2006 à 20:05
12 janv. 2006 à 18:30
"Ce document intitulé «PHP - Expressions régulières» issu de Comment Ça Marche est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
http://www.commentcamarche.net/ccmguide/ccmlicence.php3"
=)
12 janv. 2006 à 18:15
J'avais trouvé ce bout de code répliqué sur d'autre sites. Mais je ne voulais le préciser, égard au commenaire sur sa fiche membre (takai).
mdr ;-))
12 janv. 2006 à 18:05
http://www.commentcamarche.net/php/phpreg.php3
Franchement pomper un code pour proposer une source c'est vraiment la dernière chose à faire car d'une tu ne le mentionnes pas de deux le code est mauvais :-(
a +
12 janv. 2006 à 14:39
Il faut parser le code HTML pour cela, gerer si l'ont ce trouve dans: une balise, une valeur d'une option de balise, un commentaire multi-ligne.. et que apres ont peux reelement extraire les balises <title></title>.
Avant cela ont aura forcer tout le document en minuscule bien evidemment...
Je sais car j'avais coder un code similaire en C.
12 janv. 2006 à 12:10
Partons du principe que ton site de developpement n'est pas dans un répertoire
nommé EasyPHP, mais EasyPHP1-8 (par pur exemple).
Que la racine de ton site n'est pas www, mais dev_www. (http.conf).
Ne serait-il pas plus judicieux d'utiliser $_SERVER['document_root'] en place de ""...C:\\Program files\\EasyPHP\\www\\...". (vive le php language dynamique)
De plus du écrit : "...fopen("$file","r");//..." connais-tu la concaténation des variables.
;-))
A propos ta variable "...$votre_fichier..." elle vient d'où ? d' un post en method get ? alors privilégie $_GET['votre_fichier'];
PS: une solution avec dans ta problématique un fichier txt ou une solution avec un db, me semble plus appropriée. tu as 200 fichiers, tu vas poster un max pour mettre à jour ton site.