Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

optimiser l'ecriture de ce code avec des function et des aray ?

8 réponses
Avatar
AkiraChaplin
<?php
$ajout = 1 + $hnovcoockivisite;
$timestamp_expire = time() + 365*24*3600; // Le cookie expirera dans un
an
setcookie('hnovcoockivisite', $ajout, $timestamp_expire);
if ($login == null){
setcookie('vide', $ajout, $timestamp_expire);}
else {
setcookie('hnovcoockilogin', $login, $timestamp_expire);}
?>
<?
$tab = file("enligne.txt") ;
srand((double)microtime() * 1000000) ;
$nbr = rand(0, (count($tab) - 1)) ;

$tab1 = file("login.txt");
srand((double)microtime() * 1000000) ;
$nbr1 = rand(0, (count($tab1) - 1)) ;

$jour = date("d");
$mois = date("m");
$annee = date("Y");
$heure = date("H");
$minute = date("i");
function get_ip(){
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];}
elseif(isset($_SERVER['HTTP_CLIENT_IP'])){
$ip = $_SERVER['HTTP_CLIENT_IP'];}
else{ $ip = $_SERVER['REMOTE_ADDR'];}
return $ip;}$ip = get_ip();
$pageip = "./ip/$ip-$login.html";
$pageip2 "http://s149314122.onlinehome.fr/hurlantenova2007/ip/$ip-$login.html";
$pageip3 "http://s149314122.onlinehome.fr/hurlantenova2007/ip/$ip-$tab1[$nbr1].html";
$pageipcoment = "./ip/comment/$ip-$login-comment.html";
$pageipfull = "./ip/ip.txt";
$pagevisite = $_SERVER['PHP_SELF'];



$ipwritea = "Bonjour $login vous vous êtes connecté sur notre site le
$jour/$mois/$annee à $heure h $minute sur la page <a
href=\"$pagevisite\"> $pagevisite </a> <br>Nous avons crée votre page
web automatiquement <span class='Style4'><a
href=\"$pageip2\">$ip-$login</a></span><br> <IFRAME
src='http://s149314122.onlinehome.fr/hurlantenova2007/ip/comment/$ip-$login-comment.html'
width=100% height= 700 FRAMEBORDER=0></IFRAME>";
$ipwriteb = "connected - ";
$ipwritefull = "$login <a href=\"$pageip\">$ip</a> c'est connecté le
$jour/$mois/$annee à $heure h $minute sur la page <a
href=\"$pagevisite\">$pagevisite</a> <br>";
$joke = $tab[$nbr] + $ajout;
$ipwritebcoment = "votre page vient d'être vue = $tab[$nbr] fois.
$joke internautes souhaitent vous parler.<br>$tab1[$nbr1] souhaite
ecrire avec vous via le collectif : <a href='$pageip3'
target='_top'>$ip</a><br><br>";
// a faire ajouter du texte
$fp=fopen($pageipfull, "a+");
fputs($fp, "\n");
fwrite($fp,$ipwritefull);
fclose($fp);

$fp=fopen($pageip, "r+");
if (file_exists($pageip)) {
$fp=fopen($pageipcoment, "a+");
fputs($fp);
fwrite($fp,$ipwritebcoment);
fclose($fp);}
else {
$fp=fopen($pageip, "a+");
fputs($fp);
fwrite($fp,$ipwritea);
fclose($fp);}


?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
/>
<title>Document sans titre</title>
<style type="text/css">
<!--
.box1
{
border: 1px #000000 solid;
border-color: #000000;
background-color: #99FF33;
visibility: visible;
font-size: 12px;
}
.box2
{
border: 1px #000000 solid;
border-color: #000000;
background-color: #99FF66;
visibility: visible;
font-size: 12px;
}
.box3
{
border: 1px #000000 solid;
border-color: #000000;
background-color: #CCFFCC;
visibility: visible;
font-size: 12px;
}
.box4
{
border: 1px #000000 solid;
border-color: #000000;
background-color: #99FFCC;
visibility: visible;
font-size: 12px;
}
.box5
{
border: 1px #000000 solid;
border-color: #000000;
background-color: #99FFFF;
visibility: visible;
font-size: 12px;
}
body,td,th {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
}
a:link {
color: #666666;
text-decoration: underline;
}
a:visited {
text-decoration: underline;
color: #666666;
}
a:hover {
text-decoration: none;
color: #00FFFF;
}
a:active {
text-decoration: underline;
color: #666666;
}
.Style2 {
font-size: x-small;
color: #333333;
}
body {
background-color: #CCCCCC;
}
.Style4 {font-size: large; color: #333333; }
.Style1 {font-size: x-small}
.Style9 {font-size: xx-large}
.inboxgreen {
color: #FFFFFF;
font-family: Geneva, Arial, Helvetica, sans-serif;
background-color:#99FFFF
}
-->
</style>
</head>
<noscript>
<body>
</noscript>
<body><br />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="1%" bgcolor="#FFFFFF">&nbsp;</td>
<td width="99%" align="left" valign="top" bgcolor="#FFFFFF"><form
id="form1" name="form1" method="post" action="">
<label><span class="Style4">

Bienvenue sur <a href="http://hurlantenova2007.c.la">HURLANTE NOVA
2007</a></span> Pour consulter notre site vous devez vous inscrire.
Cette inscription est gratuite et vous donne acces &agrave; tout nos
services.<br />
Ceci est votre <?php
echo $_COOKIE['hnovcoockivisite'];


?> visite.

Il y a actuelement <span class="Style1">
<?php
$tab = file("enligne.txt") ;
srand((double)microtime() * 1000000) ;
$nbr = rand(0, (count($tab) - 1)) ;
echo $tab[$nbr] ;
?>
</span>internautes sur le site et <span class="Style1">
<? // Compteur PHP de hits

$fichier="compteur.txt";

// Lecture du fichier s'il existe et incr&eacute;mente
$cpt = 1;
if(file_exists($fichier)) {
$inF = fopen($fichier,"r");
$cpt = intval(trim(fgets($inF, 4096))) + 1;
fclose($inF);
}

// Sauvegarde du compteur
$inF = fopen($fichier,"w");
fputs($inF,$cpt."\n");
fclose($inF);

require "$fichier";
?>
</span>membres inscrits.<br />
<br />
<br />
Pour vous connecter ou vous inscrire veuillez ecrire votre
login<br />
<input name="login" type="text" value="<? echo "$login"; ?>"
onclick="this.value='<? $flush =$_COOKIE['hnovcoockilogin'];
echo "$flush"; ?>'"/>
</label>
<br />
<br />
Validez :<br />
<label>
<input type="submit" name="bouton" value="Juste visiter - <? require
"compteur1.txt";?>" class='box1'/>

<?
if (isset($bouton)){

$fichier0="compteur1.txt";
$cpt = 1;
if(file_exists($fichier0)) {
$inF = fopen($fichier0,"r");
$cpt = intval(trim(fgets($inF, 4096))) + 1;
fclose($inF);
}
$inF = fopen($fichier0,"w");
fputs($inF,$cpt."\n");
fclose($inF);
};

?>
</label>
<span class="Style2">
<input type="submit" name="bouton2" value="devenir membre - <?
require "compteur2.txt";?>" class='box2'/>
<?
if (isset($bouton2)){

$fichier0="compteur2.txt";
$cpt = 1;
if(file_exists($fichier0)) {
$inF = fopen($fichier0,"r");
$cpt = intval(trim(fgets($inF, 4096))) + 1;
fclose($inF);
$fichier1="login.txt";
$inF = fopen($fichier1,"a");
fputs($inF,$login."\n");
fclose($inF);
}
$inF = fopen($fichier0,"w");
fputs($inF,$cpt."\n");
fclose($inF);
};

?>
<input type="submit" name="bouton3" value="devenir administrateur -
<? require "compteur3.txt";?>" class='box2'/>
<?
if (isset($bouton3)){

$fichier0="compteur3.txt";
$cpt = 1;
if(file_exists($fichier0)) {
$inF = fopen($fichier0,"r");
$cpt = intval(trim(fgets($inF, 4096))) + 1;
fclose($inF);
$fichier1="login.txt";
$inF = fopen($fichier1,"a");
fputs($inF,$login."\n");
fclose($inF);
}
$inF = fopen($fichier0,"w");
fputs($inF,$cpt."\n");
fclose($inF);
};

?><br />
<input type="submit" name="bouton4" value="creez un blog - <? require
"compteur4.txt";?>" class='box4'/>
<?
if (isset($bouton4)){

$fichier0="compteur4.txt";
$cpt = 1;
if(file_exists($fichier0)) {
$inF = fopen($fichier0,"r");
$cpt = intval(trim(fgets($inF, 4096))) + 1;
fclose($inF);
$fichier1="login.txt";
$inF = fopen($fichier1,"a");
fputs($inF,$login."\n");
fclose($inF);
}
$inF = fopen($fichier0,"w");
fputs($inF,$cpt."\n");
fclose($inF);
};

?>
<input type="submit" name="bouton5" value="creez un forum - <?
require "compteur5.txt";?>" class='box4'/>

<?
if (isset($bouton5)){

$fichier0="compteur5.txt";
$cpt = 1;
if(file_exists($fichier0)) {
$inF = fopen($fichier0,"r");
$cpt = intval(trim(fgets($inF, 4096))) + 1;
fclose($inF);
$fichier1="login.txt";
$inF = fopen($fichier1,"a");
fputs($inF,$login."\n");
fclose($inF);
}
$inF = fopen($fichier0,"w");
fputs($inF,$cpt."\n");
fclose($inF);
};

?>
<input type="submit" name="bouton6" value="Tout les choix, je suis un
alpha geek - <? require "compteur6.txt";?>" class='box4'/>

<?
if (isset($bouton6)){

$fichier0="compteur6.txt";
$cpt = 1;
if(file_exists($fichier0)) {
$inF = fopen($fichier0,"r");
$cpt = intval(trim(fgets($inF, 4096))) + 1;
fclose($inF);
$fichier1="login.txt";
$inF = fopen($fichier1,"a");
fputs($inF,$login."\n");
fclose($inF);
}
$inF = fopen($fichier0,"w");
fputs($inF,$cpt."\n");
fclose($inF);
};

?>
<br />
<label>
<input type="submit" name="bouton7" value="Login - je suis
d&eacute;j&agrave; membre - <? require "compteur7.txt";?>" class='box5'
/>

<?
if (isset($bouton7)){

$fichier0="compteur7.txt";
$cpt = 1;
if(file_exists($fichier0)) {
$inF = fopen($fichier0,"r");
$cpt = intval(trim(fgets($inF, 4096))) + 1;
fclose($inF);
$fichier1="login.txt";
$inF = fopen($fichier1,"a");
fputs($inF,$login."\n");
fclose($inF);
}
$inF = fopen($fichier0,"w");
fputs($inF,$cpt."\n");
fclose($inF);
};

?>
</label>
</span>
<input type="submit" name="bouton8" value="Vous avez juste visité ce
site ? Pourtant votre page web est pr&ecirc;te. - <? require
"compteur8.txt";?>" class="box3" />
<span class="Style2">

<?
if (isset($bouton8)){

$fichier0="compteur8.txt";
$cpt = 1;
if(file_exists($fichier0)) {
$inF = fopen($fichier0,"r");
$cpt = intval(trim(fgets($inF, 4096))) + 1;
fclose($inF);
$fichier1="login.txt";
$inF = fopen($fichier1,"a");
fputs($inF,$login."\n");
fclose($inF);
}
$inF = fopen($fichier0,"w");
fputs($inF,$cpt."\n");
fclose($inF);
};

?>
</span><br />
<?php

if (!empty($_POST)) {
if (isset($_POST['bouton2'])) {
if(empty($login)){
echo "<span class='Style9'>vous devez entrer votre login</span>";
die;
}
echo "bonjour $login page 2";
}

elseif (isset($_POST['bouton3'])) {
if(empty($login)){
echo "<span class='Style9'>vous devez entrer votre login</span>";
die;
}
echo "bonjour $login page 3";
}

elseif (isset($_POST['bouton4'])) {
if(empty($login)){
echo "<span class='Style9'>vous devez entrer votre login</span>";
die;
}
echo "bonjour $login page 4";
}

elseif (isset($_POST['bouton5'])) {
if(empty($login)){
echo "<span class='Style9'>vous devez entrer votre login</span>";
die;
}
echo "bonjour $login page 5";
}

elseif (isset($_POST['bouton6'])) {
if(empty($login)){
echo "<span class='Style9'>vous devez entrer votre login</span>";
die;
}
echo "bonjour $login page 6";
}

elseif (isset($_POST['bouton7'])) {
if(empty($login)){
echo "<span class='Style9'>vous devez entrer votre login</span>";
die;
}
echo "bonjour $login page 7";
}

elseif (isset($_POST['bouton8'])) {
if(empty($login)){
echo "<span class='Style9'>vous devez entrer votre login</span>";
die;
}
echo "bonjour $login <br>";
require "./ip/$ip-$login.html";
}

else {
// par défaut, c'est le bouton 1, même si on ne clique pas/
if(empty($login)){
echo "<span class='Style9'>vous devez entrer votre login</span>";
die;
}
echo "bonjour $login page 1";
}
echo '<br>';
echo 'vivre';
}

?>
<br />
</form></td>
</tr>
</table>

<br />

<br />
<?
require "login.txt";
?>
</body>
</html>

8 réponses

Avatar
Olivier Miakinen
[ rien d'autre que du code ]

Bonjour Akira. Tout d'abord une première remarque : il est d'usage
d'expliquer de quoi il est question dans le corps d'un article, et pas
seulement dans son titre.

<?php
$ajout = 1 + $hnovcoockivisite;


register_global = true, et tu utilises les variables sans les tester ?
C'est plutôt dangereux, ça.

$pageip = "./ip/$ip-$login.html";
$pageip2 "http://s149314122.onlinehome.fr/hurlantenova2007/ip/$ip-$login.html";
$pageip3 "http://s149314122.onlinehome.fr/hurlantenova2007/ip/$ip-$tab1[$nbr1].html";


T'as pas des erreurs de syntaxe ici ?

<!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">


Mouais... m'étonnerait que tu aies vraiment besoin de XHTML, mais bon...
(surtout en Transitional)

<style type="text/css">
<!--


Ce commentaire est invalide en XHTML.

[plusieurs dizaines de lignes de css]
-->
</style>


Au passage, mettre les css dans un fichier externe ne peut qu'améliorer
les perfs si tu utilises les mêmes définitions pour toutes tes pages
HTML... et cela aiderait à rendre ton code valide si tu restes en XHTML.

<noscript>
<body>
</noscript>
<body>


Aaargh ! Si le contenu de <noscript> n'est pas ignoré, tu as deux <body>.

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="1%" bgcolor="#FFFFFF">&nbsp;</td>
<td width="99%" align="left" valign="top" bgcolor="#FFFFFF"><form
id="form1" name="form1" method="post" action="">
<label><span class="Style4">


:-(

Ceci est votre <?php
echo $_COOKIE['hnovcoockivisite'];


?> visite.


Première visite ou pas de cookie
=> « Ceci est votre visite »

Deuxième visite avec cookie
=> « Ceci est votre 2 visite »

:-(

Il y a actuelement <span class="Style1">
<?php
$tab = file("enligne.txt") ;
srand((double)microtime() * 1000000) ;
$nbr = rand(0, (count($tab) - 1)) ;
echo $tab[$nbr] ;
?>
</span>internautes sur le site et <span class="Style1">


http://s149314122.onlinehome.fr/hurlantenova2007/enligne.txt

Voilà qui est très sérieux... D'un autre côté, les compteurs de
visiteurs présents sont toujours de l'arnaque, alors arnaque pour
arnaque, pourquoi pas un nombre aléatoire en effet !


<? // Compteur PHP de hits

$fichier="compteur.txt";

// Lecture du fichier s'il existe et incr&eacute;mente
$cpt = 1;
if(file_exists($fichier)) {
$inF = fopen($fichier,"r");
$cpt = intval(trim(fgets($inF, 4096))) + 1;
fclose($inF);
}

// Sauvegarde du compteur
$inF = fopen($fichier,"w");
fputs($inF,$cpt."n");
fclose($inF);

require "$fichier";
?>
</span>membres inscrits.<br />


http://s149314122.onlinehome.fr/hurlantenova2007/login.txt

Ce qui est bien, c'est qu'à chaque visite tu as un membre supplémentaire.


Bon, il faudrait que tu nous expliques ce que tu voulais exactement.

Avatar
Steuf
Oui possiblement
Les fonction ne sont utiles que pour des partis de codes qui se
répétent. (Plusieurs fois les mêmes calculs etc...)
Sinon c'est parfaitement inutile.
Avatar
AkiraChaplin
eh bien je me le demandais justement

à vue d'oeil dans ce script ?
Avatar
fgirault
Techniquement, c'est peut être inutile, mais d'un point de vue
organisation, séparer les sous-traitements / préoccupations aide
souvent à la lisibilité et par conséquent à la maintenance du code.

Evidemment, tout est une question d'échelle, mais le mélange
d'opérations d'accès aux données au milieu du code de présentation
est rarement productif à long terme.
Avatar
AkiraChaplin
merci pour ta lecture
c'est mon 1er script
et je suis amusé qu'on puisse le lire

le resultat est a cette url :
http://s149314122.onlinehome.fr/hurlantenova2007/hurlantenova.php

ceci est juste un pre squelette
je veux dans l'absolut créer une interface dynamique basé sur :
- un visiteur arrive sur le site (alors) une page web est créé avec
son ip
- des informations sont ajouté a sa page pendant qu'il visite le site
- ces informations sont relative à sa navigation
- pendant sa navigation ou lorsqu'il qu'il quite le site ou lors ce
qu'il revient : on lui propose de voir sa page créer, celle ci
contient des informations sensible de l'interessé.

En résumé :
créer une page web juste en navigant
création robotisé d'un site en fonction des visiteurs et de leurs
navigations.



......
Avatar
AkiraChaplin
réponse grandiose, merci
néanmoins
imaginos que la conception d'un page soit pensé des le départ en
prennant en compte une construction complexe a variable multiple
alors
la maintenance se ferait aisément ?
Avatar
fgirault
grandiose ma réponse qui étale des généralités éculés ? j'en
doute fort mais merci quand même :)

il n'y a pas vraiment de recette miracle pour garantir qu'un code sera
maintenable. (certes il reste la boule de cristal, les viscères de
poulet, le marre de café ...)

tout ce passe entre la chaise et le clavier !

c'est en général en apprenant de ses propres erreurs (et celles des
autres) qu'on "trouve la voie". bref, l'expérience (ça tombe bien,
ici, pas mal d'intervenants en possèdent une bonne couche ;) ), de
laquelle émerge les "bonnes pratiques".

et celle que je préfère : séparer clairement les préoccupations,
car produire du html n'a rien à voir avec des accès fichiers ou base
de données. on rassemble des données, et on les injecte dans du html
pour présenter ces données. mais par pitié, pas de code sql ou
d'accès aux fichiers au milieu du html. dans votre cas, faites une
batterie de fonctions qui vont lire et écrire vos fichiers dans un
source à part. le jour où il faut modifier quelque chose, on ne
cherche pas dans quelques milliers de lignes de langages
hétérogènes, mais dans le seul fichier source concerné.

j'ai pu voir les pires cochonneries où des requêtes sql généraient
directement du javascript, ou encore du code html dans des champs de
base de données (sympa quand il faut retoucher 10000 enregistrements
quand la classe css a changé), etc, etc ...

php n'impose aucune contrainte là dessus, mais je dirais qu'on a les
défauts de ses qualités et vice-versa :)
Avatar
fgirault
grandiose ma réponse qui étale des généralités éculés ? j'en
doute fort mais merci quand même :)

il n'y a pas vraiment de recette miracle pour garantir qu'un code sera
maintenable. (certes il reste la boule de cristal, les viscères de
poulet, le marre de café ...)

tout ce passe entre la chaise et le clavier !

c'est en général en apprenant de ses propres erreurs (et celles des
autres) qu'on "trouve la voie". bref, l'expérience (ça tombe bien,
ici, pas mal d'intervenants en possèdent une bonne couche ;) ), de
laquelle émerge les "bonnes pratiques".

et celle que je préfère : séparer clairement les préoccupations,
car produire du html n'a rien à voir avec des accès fichiers ou base
de données. on rassemble des données, et on les injecte dans du html
pour présenter ces données. mais par pitié, pas de code sql ou
d'accès aux fichiers au milieu du html. dans votre cas, faites une
batterie de fonctions qui vont lire et écrire vos fichiers dans un
source à part. le jour où il faut modifier quelque chose, on ne
cherche pas dans quelques milliers de lignes de langages
hétérogènes, mais dans le seul fichier source concerné.

j'ai pu voir les pires cochonneries où des requêtes sql généraient
directement du javascript, ou encore du code html dans des champs de
base de données (sympa quand il faut retoucher 10000 enregistrements
quand la classe css a changé), etc, etc ...

php n'impose aucune contrainte là dessus, mais je dirais qu'on a les
défauts de ses qualités et vice-versa :)