blem de je sais pas trop koi :( de longueur il me semble ... [php] - Programmation
Marsh Posté le 19-09-2001 à 15:19:56
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" );
Marsh Posté le 19-09-2001 à 15:39:00
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
Voir tout mon code ? pt1, ça va être chaud ça
voila le code de liens.pcs.php (attention, c un gros bordel ), 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 ) :
Pour ton code, je préfère garder le miens en faite il était comme tu me porpose avant, mais je l'ai changer pour pouvoir contrôler quel pages doivent êtres afficher
Marsh Posté le 19-09-2001 à 15:42:05
ah oui au total :
Marsh Posté le 19-09-2001 à 19:17:36
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
Marsh Posté le 19-09-2001 à 15:04:49
c un peu compliqué
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.
bon un expl ça va mieux :
...
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
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 :
...
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 ) 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 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 ).