Adaptation pour passage à php5
Posté : 28 mai 2009, 11:45
Bonjour,
je dispose d'un petit système en php qui me permet de gérer une collection de cd. Une page présente la liste de cds déjà saisis avec pour chacun d'entre eux, un lien qui renvoie vers une page contenant tous les détails renseignés.
Mon hébergeur est passé à php5 récemment et depuis je rencontre des problèmes.
Si la page de listage des cds et celle donnant les détails de chaque cd fontionnent parfaitement comme sous php4, la page qui me permet de saisir les cds, de les modifier ou de les effacer (admin.php) ne fonctionne plus.
Je n'ai aucun message d'erreur, ni page blanche. La page se recharge sans prendre en compte les valeurs du cd que je souhaite ajouter, modifier ou effacer. Seule l'url change avec comme c'était le cas sous php4, en identifiant l'id du cd en question. exemple : /admin.php?modif=158#ancre
Je suis débutant et malheureusement pas encore assez confirmé pour résoudre ce problème moi même.
J'ai consulté des dizaines de sites pour essayer d'y parvenir, sans succès.
Outre, le passage de php4 à php5, je pense que le problème vient du changement de register_globals de ON à OFF.
Merci à ceux qui voudront bien m'aider.
je dispose d'un petit système en php qui me permet de gérer une collection de cd. Une page présente la liste de cds déjà saisis avec pour chacun d'entre eux, un lien qui renvoie vers une page contenant tous les détails renseignés.
Mon hébergeur est passé à php5 récemment et depuis je rencontre des problèmes.
Si la page de listage des cds et celle donnant les détails de chaque cd fontionnent parfaitement comme sous php4, la page qui me permet de saisir les cds, de les modifier ou de les effacer (admin.php) ne fonctionne plus.
Je n'ai aucun message d'erreur, ni page blanche. La page se recharge sans prendre en compte les valeurs du cd que je souhaite ajouter, modifier ou effacer. Seule l'url change avec comme c'était le cas sous php4, en identifiant l'id du cd en question. exemple : /admin.php?modif=158#ancre
Je suis débutant et malheureusement pas encore assez confirmé pour résoudre ce problème moi même.
J'ai consulté des dizaines de sites pour essayer d'y parvenir, sans succès.
Outre, le passage de php4 à php5, je pense que le problème vient du changement de register_globals de ON à OFF.
Merci à ceux qui voudront bien m'aider.
<?
$tab_months=array('01'=>'Janvier',
'02'=>'Février',
'03'=>'Mars',
'04'=>'Avril',
'05'=>'Mai',
'06'=>'Juin',
'07'=>'Juillet',
'08'=>'Août',
'09'=>'Septembre',
'10'=>'Octobre',
'11'=>'Novembre',
'12'=>'Décembre');
?>
BOOTLEGS DEJA
SAISIS:
<?
include("config.php") ;
include("connect_sql.php") ;
// faire effacement si besoin:
if (isset($suppr2))
{
// requete de suppression
$query_suppr_boot="DELETE FROM bootlegs WHERE id_boot=$suppr2" ;
$result_suppr=mysql_query($query_suppr_boot) or die ("Requete de suppression invalide");
if ($result_suppr) echo "<hr width=\"50%\"><i>Le bootleg n°$suppr2 a bien été supprimé</i><hr width=\"50%\">" ;
unset($suprr) ;
}
//récupérer toutes les années où y a un bootleg
$query_years="SELECT DISTINCT annee FROM bootlegs ORDER BY annee DESC" ;
$result=mysql_query($query_years) or die ("Requete savoir années invalide");
while ($row=mysql_fetch_array($result))
{
echo "<b>$row[annee]</b><br>\n" ;
$query="SELECT * FROM bootlegs WHERE annee='$row[annee]' order by MOIS" ;
$result2=mysql_query($query);
while ($row2=mysql_fetch_array($result2))
{
$mois=$row2[mois];
echo "<b><font size=-1> </font></b>$row2[titre] (<a href=$PHP_SELF?modif=$row2[id_boot]#ancre>modif.</a> / <a href=boot.php?idboot=$row2[id_boot]>aperçu</a> / <a href=$PHP_SELF?suppr=$row2[id_boot]#ancre>suppr.</a>)<br>\n" ;
if ($modif==$row2[id_boot])
{
echo "<a name=\"ancre\"></z>";
// on affiche le formulaire pour modifier _CE_ boot
echo "<hr>MODIFICATION DE $row2[titre]<br><br>\n" ;
echo "<form name=\"modifiage\" action=\"$PHP_SELF\" method=\"post\">" ;
echo "<input name=\"modif2\" type=\"hidden\" value=\"$row2[id_boot]\">";
include_once ("form.php") ;
echo "</form>" ;
echo "<br><hr><br>\n" ;
}
if ($HTTP_POST_VARS[modif2]==$row2[id_boot])
{
// requete d'update
$query_ajout_boot="UPDATE bootlegs SET titre='$HTTP_POST_VARS[titre]',lieu='$lieu',ville='$ville',pays='$pays',jour='$jour',mois='$mois',annee='$annee',qualite='$qualite',musiciens='$musiciens',cd1='$playlist1',cd2='$playlist2',infos='$infos',img='$img',is_new='$is_new' where id_boot='$modif2'";
$result_ajout=mysql_query($query_ajout_boot) or die ("Requete de modif invalide");
if ($result_ajout) echo "<hr width=\"50%\"><i>Le bootleg $titre a bien été modifié</i><hr width=\"50%\">" ;
unset($modif2) ;
}
if (isset($suppr) && $suppr==$row2[id_boot])
{
echo "<a name=\"ancre\"></z>";
echo "<hr width=\"40%\"><div align=center><a href=$PHP_SELF?suppr2=$row2[id_boot]>CONFIRMER LA SUPPRESSION</a></div><hr width=\"40%\">";
}
}
}
?>
NOUVEAU BOOTLEG ?..
<form name="infos" method="post" action="ajout.php">
<? include_once ("form.php") ; ?>
</form>
VCDs DEJA SAISIS:
<?
// faire effacement si besoin:
if (isset($vcd_suppr2))
{
// requete de suppression
$query_suppr_vcd="DELETE FROM vcd WHERE id_vcd=$vcd_suppr2" ;
$result_suppr_vcd=mysql_query($query_suppr_vcd) or die ("Requete de suppr ($query_suppr_vcd) invalide");
if ($result_suppr_vcd) echo "<hr width=\"50%\"><i>Le VCD n°$vcd_suppr2 a bien été supprimé</i><hr width=\"50%\">" ;
unset($suppr_vcd) ;
}
$query="SELECT * FROM vcd order by ANNEE,MOIS" ;
$result2=mysql_query($query);
while ($row2=mysql_fetch_array($result2))
{
$mois=$row2[mois];
echo "<b><font size=-1> </font></b>$row2[titre] (<a href=$PHP_SELF?modif_vcd=$row2[id_vcd]#ancre>modif.</a> / <a href=vcd.php?id=$row2[id_vcd]>aperçu</a> / <a href=$PHP_SELF?vcd_suppr=$row2[id_vcd]#ancre>suppr.</a>)<br>\n" ;
if ($modif_vcd==$row2[id_vcd])
{
echo "<a name=\"ancre\"></z>";
// on affiche le formulaire pour modifier _CE_ vcd
echo "<hr>MODIFICATION DE $row2[titre]<br><br>\n" ;
echo "<form name=\"modifiage_vcd\" action=\"$PHP_SELF\" method=\"post\">" ;
echo "<input name=\"vcd_modif2\" type=\"hidden\" value=\"$row2[id_boot]\">";
include_once ("form_vcd.php") ;
echo "</form>" ;
echo "<br><hr><br>\n" ;
}
if ($HTTP_POST_VARS[vcd_modif2]==$row2[id_vcd])
{
// requete d'update
$query_update_vcd="UPDATE vcd SET titre='$HTTP_POST_VARS[titre]',lieu='$lieu',ville='$ville',pays='$pays',jour='$jour',mois='$mois',annee='$annee',qualite='$qualite',musiciens='$musiciens',cd1='$playlist1',cd2='$playlist2',infos='$infos',img='$img',is_new='$is_new',total_time='$total_time' where id_vcd='$vcd_modif2'";
$result_update=mysql_query($query_update_vcd) or die ("Requete de modif ($query_update_vcd) invalide");
if ($result_update) echo "<hr width=\"50%\"><i>Le VCD $titre a bien été modifié</i><hr width=\"50%\">" ;
unset($vcd_modif2) ;
}
if (isset($vcd_suppr) && $vcd_suppr==$row2[id_vcd])
{
echo "<a name=\"ancre\"></z>";
echo "<hr width=\"40%\"><div align=center><a href=$PHP_SELF?vcd_suppr2=$row2[id_vcd]>CONFIRMER LA SUPPRESSION</a></div><hr width=\"40%\">";
}
}
?>
NOUVEAU VCD ?..
<form name="infos" method="post" action="ajout_vcd.php">
<? include_once ("form_vcd.php") ; ?>
</form>