Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2000 connectés 

 


Dernière réponse
Sujet : [php] blem de je sais pas trop koi :( de longueur il me semble ...
Sh@rdar bon, si tu veux continuer à coder comme un cochon c'est ton droit, par contre les if avec un die après, faut pas s'étonner que ton script s'arrête (donc à mon avis une erreur de query).
 
if(!$r=mysql_query($sql, $db)) {
   die("Erreur de connection à la table !" );
 }

 
perso (et ça n'engage que moi) je trouve ton script hyper mal codé, si tu es un fan des switch, plutot que d'alourdir ta page, utilise des tableaux, fais des include, mais pour ce truc plutôt simple tu te complique vachement le travail
 
Bon courage :hello:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Sh@rdar bon, si tu veux continuer à coder comme un cochon c'est ton droit, par contre les if avec un die après, faut pas s'étonner que ton script s'arrête (donc à mon avis une erreur de query).
 
if(!$r=mysql_query($sql, $db)) {
   die("Erreur de connection à la table !" );
 }

 
perso (et ça n'engage que moi) je trouve ton script hyper mal codé, si tu es un fan des switch, plutot que d'alourdir ta page, utilise des tableaux, fais des include, mais pour ce truc plutôt simple tu te complique vachement le travail
 
Bon courage :hello:
Deadog ah oui :D au total :
 

  • 22531 avec le switch
  • 19114 sans le switch


 :jap:

Deadog je peux pas l'u/l (je bosse sur un serveur interne) la, trop de blem pour changer les droits d'acces, la base à creer et tous ça :D
 
Voir tout mon code ? pt1, ça va être chaud ça :D
 
voila le code de liens.pcs.php (attention, c un gros bordel :D), pour precisions, en faite ma page c pas index.php mais index2.php ;) :

<?php
switch ($ok) {
 case 1:
 if($okpass=='XXX') {
   $ok=1;
 }else{
   echo "Cette page ne peut être afficher seul !";
   exit;
 }
 break;
 default:
  echo "Cette page ne peut être afficher seul !";
  exit;
}
 
switch ($type) {
 case 'suba':
  $destination="/XXX/image";
  if ($userfile=="none" ) {
    echo "<h2><font face=arial>Vous n'avez pas sélectionné de fichier.</font></h2>";
  }
  if ($userfile!="none" && $userfile_size!=0) {
    $userfile=stripslashes($userfile);
    if (!copy($userfile, "$destination/liens_$userfile_name" )) {
      echo "<br>Probleme de transfert !<br>";
    }
  }
  $sql="INSERT INTO liens VALUES ( '', '$url', '$userfile_name', '$comment', '0', '2')";
  if(!$r=mysql_query($sql, $db)) {
    die("Erreur de connection à la table !" );
  }
 break;
 case 'edit':
  $sql="SELECT * FROM liens WHERE lid=$lid";
  if(!$r=mysql_query($sql, $db)) {
    die("Erreur de connection à la table !" );
  }else{
    if (($total=mysql_num_rows($r))=="0" ) {
      echo "Liens inexistant.";
    }else{
      $liens=mysql_fetch_array($r)
?>
<CENTER>
<H3><b><u>Editer un lien :</u></b></H3><BR>
<form ENCTYPE="multipart/form-data" method="post" action="index2.php?page=liens&type=subb&lid=<?php echo $liens[lid] ?>&adminpass=marge&id=<?php echo$id ?>&psd=<?php echo $psd ?><?php if ($psd=='Deadog') { echo "&passe=$passe"; } ?>&js=<?php echo $js ?>#deb">
<table border=0>
<tr><td align=right><b>URL : </b></td><td align=left><input type="text" name="url" value="<?php echo $liens[url] ?>"> <a href="<?php echo $liens[url] ?>"><?php echo $liens[url] ?></a></td></tr>
<tr><td align=right><b>Commentaire : </b></td><td align=left><input type="text" name="comment" value="<?php echo $liens[texte] ?>"> <?php echo $liens[texte] ?></td></tr>
<tr><td align=right><b>Image : </b></td><td align=left><table border=0 cellspacing="0" cellpadding="0"><tr><td valign=center align=left><INPUT NAME="userfile" TYPE="file" size="20">
<input type="hidden" name="action" value="add">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="10000000"> </td><td><img src="../image/liens_<?php echo $liens[image] ?>" align=center></td></tr></table></td></tr>
<tr><td> </td><td align=center>(Si vous ne mettez rien, l'image sera conservé)</td></tr>
</table><BR>
<input type="submit" name="Submit" value="Valider" class="input">
</center>
<?php
    }
  }
  echo "\n\n\n\n\n\n\n";
  include('bs.'.$exta.'.php');
  echo "\n</BODY>\n</HTML>";
  unset($ok);
  unset($okpass);
  mysql_close();
  exit;
 break;
 case 'suppr':
  $sql="SELECT * FROM liens WHERE lid=$lid";
  if(!r=mysql_query($sql, $db)) {
    die("Erreur de connection à la table !" );
  }else{
    if (($total=mysql_num_rows($r))=="0" ) {
      echo "Liens inexistant.";
    }else{
      $image=mysql_fetch_array($r);
      unlink("../image/liens_$image[image]" );
      $sql="DELETE FROM liens WHERE lid=$lid";
      if(!$r=mysql_query($sql, $db)) {
 die("Erreur de connection à la table !" );
      }
    }
  }
 break;
 case 'visu':
  $sql="SELECT * FROM liens WHERE lid=$lid";
  if(!$r=mysql_query($sql, $db)) {
    die("Erreur de connection à la table !" );
  }else{
    if (($total=mysql_num_rows($r))=="0" ) {
      echo "Liens inexistant.";
    }else{
      $liens=mysql_fetch_array($r);
      switch ($liens[visible]) {
       case 2:
       $rper='1';
       break;
       default:
        $rper='2';
      }
      $sql="UPDATE liens SET visible = '$rper'";
      if ((!$r=mysql_query($sql, $db)) {
        die("Erreur de connection à la table !" ); }
    }
  }
 break;
}
 
?>
 
<a name="deb"></a>
<CENTER>
<H3><b><u>Liens actuel :</u></b></H3><BR>
<table border=0 align=center>
 
<?php
 
$sql="SELECT * FROM liens WHERE visible>=1 ORDER BY lid";
if(!$r=mysql_query($sql, $db)) {
  die("Erreur de connection à la table !" );
}else{
  if (($total=mysql_num_rows($r))=="0" ) {
    echo "Pas de liens d'enregistré.";
  }else{
    while ($liens=mysql_fetch_array($r)) {
  switch ($liens[visible]) {
   case 2:
   $visi="<a href=\"index2.php?page=liens&type=visu&lid=$liens[lid]&adminpass=marge&id=$id&psd=$psd";
  if ($psd=='Deadog') {
    echo "&passe=$passe";
  }
  echo "&js=$js#deb\">Rendre visible au public</a>   <BR><BR>   <a href=\"../index.php?page=liens&testouille=1&testpass=bart\" target=\"_blank\">Voir en test</a>";
   break;
   default:
    $visi="<a href=\"index2.php?page=liens&type=visu&lid=$liens[lid]&adminpass=marge&id=$id&psd=$psd";
  if ($psd=='Deadog') {
    echo "&passe=$passe";
  }
  echo "&js=$js#deb\">Rendre invisible au public</a>";
  }
  echo "<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>";
         echo "<TR><TD align=center><a href=\"$liens[url]\" target=\"_blank\"><img src=\"../image/liens_$liens[image]\" border=0><br>$liens[url]</a></td><td align=right><div align=center valign=center> $liens[texte]</div>\n</td><td width=50> </td><TD><table border=1 bgcolor=#CCCCCC bordercolor=#000000 cellspacing=\"0\" cellpadding=\"1\" align=center valign=center width=100%><tr><td align=center valign=center><BR>   <a href=\"index2.php?page=liens&type=edit&lid=$liens[lid]&adminpass=marge&id=$id&psd=$psd";
  if ($psd=='Deadog') {
    echo "&passe=$passe";
  }
  echo "&js=$js#deb\">Editer</a>   <br><br>   <a href=\"index2.php?page=liens&type=suppr&lid=$liens[lid]&adminpass=marge&id=$id&psd=$psd";
  if ($psd=='Deadog') {
    echo "&passe=$passe";
  }
  echo "&js=$js#deb\">Supprimer</a>   <BR><BR></td><td align=center valign=center><BR>   <b><u>Visibilité :</u></b>   <br><br>  &nb
sp;$visi   <BR><BR></td></tr></tabl
e></td></tr>";
    }
  }
}
?>
</TABLE>
<BR><BR><BR><BR><BR>
<H3><b><u>Ajouter un nouveau lien :</u></b></H3><BR>
<form ENCTYPE="multipart/form-data" method="post" action="index2.php?page=liens&type=suba&adminpass=marge&id=<?php echo$id ?>&psd=<?php echo $psd ?><?php if ($psd=='Deadog') { echo "&passe=$passe"; } ?>&js=<?php echo $js ?>#deb">
<table border=0>
<tr><td align=right><b>URL : </b></td><td align=left><input type="text" name="url"></td></tr>
<tr><td align=right><b>Commentaire : </b></td><td align=left><input type="text" name="comment"></td></tr>
<tr><td align=right><b>Image : </b></td><td align=left><INPUT NAME="userfile" TYPE="file" size="20">
<input type="hidden" name="action" value="add">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="10000000"></td></tr>
<tr><td> </td><td align=center>(le fichier sera renommer "liens_$file"<br>dans le repertoire "/image" )</td></tr>
</table><BR>
<input type="submit" name="Submit" value="Valider" class="input">
</center>

 
(les XXX c les truc sensible ;))
 
 
 
J'ai calculé la taille des différents fichiers (sous un system windows, sachant qu'en vraie le serveur est sur linux et donc il y a un décalage de qll octet par fichiers sur linux, mais c faible ;)) :

  • index2.php : 1.856 octets
  • config.inc : 660 octets
  • head.pcs.php : 5.203 octets
  • body.pcs.php : 330 octets
  • ht.pcs.php : 5.834 octets
  • liens.pcs.php : 6.955 octets avec le switch
  • liens.pcs.php : 3.538 octets sans le switch
  • bs.pcs.php : 1.693 octets


 
 
Pour ton code, je préfère garder le miens :D en faite il était comme tu me porpose avant, mais je l'ai changer pour pouvoir contrôler quel pages doivent êtres afficher ;)

Sh@rdar Je pige pas tout ton problème, et faudrait filer une URL histoire de tester.. et peut être tout le code ça m'a l'air sacrément tordu ton histoire..
Pour la longueur, il fait combien de Ko ton script ?
 
par contre histoire d'éviter les commandes inutiles je change ça :
switch ($page) {  
case 'index':  
include($page.'.'.$exta.'.php');  
break;  
case 'options':  
include($page.'.'.$exta.'.php');  
break;  
case 'liens':  
include($page.'.'.$exta.'.php');  
break;  
case 'merci':  
include($page.'.'.$exta.'.php');  
break;  
case 'info':  
include($page.'.'.$exta.'.php');  
break;  
}

 
par  
if (isset($page)) include ("$page.$exta.php" );
else include ("index.$exta.php" );
Deadog c un peu compliqué :D
 
 
j'ai une page d'index (d'administration d'un site ;)) qui se charge de charger différentes pages (contenue dans différents fichiers) grace à des variables dans l'adresse.
 :pt1cable: bon un expl ça va mieux :D :
 

  • index.php ---> affiche la page index.pcs.php (le .pcs c pour identifier le site, enfin c tout un bordel :d)
  • index.php?page=liens ---> affiche la page liens.pcs.php
  • index.php?page=divers ---> affiche la page divers.pcs.php
  • index.php?page=news ---> affiche la page news.pcs.php

...
 
en gros je fais un include($page.'.pcs.php');
 
 
Mais ça c pour le corp principal des page "généré", pour ceux qui y a autours j'utilise le même principe. Voila en gros ce que donne ma séquence de chargement des différents trucs :
$exta="pcs";
echo "<HTML>\n<HEAD>\n<TITLE>$title</TITLE>\n";
include('head.'.$exta.'.php');
echo "\n</HEAD>\n";
include('body.'.$exta.'.php');
echo "\n";
include('ht.'.$exta.'.php');
echo "\n\n\n\n\n\n\n";
 
if ($page =='') {
  $page = 'index';
}
 
switch ($page) {
 case 'index':
 include($page.'.'.$exta.'.php');
 break;
 case 'options':
 include($page.'.'.$exta.'.php');
 break;
 case 'liens':
 include($page.'.'.$exta.'.php');
 break;
 case 'merci':
 include($page.'.'.$exta.'.php');
 break;
 case 'info':
 include($page.'.'.$exta.'.php');
 break;
}
 
echo "\n\n\n\n\n\n\n";
include('bs.'.$exta.'.php');
echo "\n</BODY>\n</HTML>";

 
 
Voila pour le dévellopement de ma situation :) passont à mon blem :D
 
Pour pouvoir changer des liens (pour l'instant c la seul page de faite) par la base MySQL, je fait donc une page qui le propose, je commence les différentes parti de la prog (modifier, supprimmer, rendre visible, ajouter un liens).
C action ce passe toujours sur la même page mais je la charge avec une variable d'adresse en plus, par expl :

  • index.php?page=liens&type=edit ---> pour éditer un liens
  • index.php?page=liens&type=suppr ---> pour supprimer un liens
  • index.php?page=liens&type=suba ---> pour ajouter un liens

...
 
donc dans mon fichier liens.pcs.php au début j'ai (outre plusieurs syteme d'identification et de sécurité, c une page d'admin, faut pas oublier :D) j'ai donc un switch sur la variable $type :
switch ($type) {
 case 'suba':
 .
 .
 .
 break;
 case 'edit':
 .
 .
 .
 break;
 case 'suppr':
 .
 .
 .
 break;
 case 'visu':
 .
 .
 .
 break;
}

 
(les ... c pour couper le code :D je le mettrais si vous pensez que ça peut venir de la ;))
 
Seulement, une fois programmer tous ces fonctions, la page ne charge qu'un bout :??: et arrête de ce charger au bout d'à peu près 3800-4000 caractères alors que sans ce switch y'a pas de blem :) mais pas de fonctions non plus :(
De pleus, quand le chargement de la page s'arrête, c toujours exactement au même endroits (suivant la version de la page en javascript ou non) et en plus elle ne s'arrête même avant le chargement de liens.pcs.php
 
 
Alors je comprend po trop, a priori y'a pas d'erreur dans le switch et dans les autres bout de pages chargé avant y'a aucune erreur, sur ;)
 
 
 
Vous avez pas une idée ? j'avais pensez à la longueur du script php et je sais plus quelle est la fonction qui permet d'agrandire c grandeur limite (ou un truc dans le genre :D).
 
 
 :??:  :??:  :??:


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)