Page 1 sur 2

probleme fichier classement

Posté : 22 nov. 2009, 15:20
par david18
Bonjour,

en faite, je veux realiser pour mon site sur la musique, une page ajout_classement_albums, c'est une formulaire, et une page classements_albums, pour afficher les informations.
Je vais vous expliquer: Je veux prendre le classement top albums du site chartsinfrance, les 5 1er, et afficher sur mon site (classements_albums), C'est plutot une modifications, chaque semaine, je modifie les entrees avec les nouveaux... mon table classement contient 4 champs: id, nom, titre, progressions.
Je vous envoye donc, la page ajout_classement_albums, mais regarder ce qu'il me fais, http://topmusic.free-hosting.fr/ajout_c ... albums.php
<?php
include("./includes/haut.php");
mysql_connect("", "", "");
mysql_select_db("");
if(isset($_POST['requete']))
{

//sécuritée
$nom=$_POST['1']; 
$nom1=mysql_real_escape_string($nom);
$nom=$_POST['2'];
$nom2=mysql_real_escape_string($nom);
$nom=$_POST['3'];
$nom3=mysql_real_escape_string($nom);
$nom=$_POST['4'];
$nom4=mysql_real_escape_string($nom);
$nom=$_POST['5'];
$nom5=mysql_real_escape_string($nom);
$titre=$_POST['1'];
$titre1=mysql_real_escape_string($titre);
$titre=$_POST['2'];
$titre2=mysql_real_escape_string($titre);
$titre=$_POST['3'];
$titre3=mysql_real_escape_string($titre);
$titre=$_POST['4'];
$titre4=mysql_real_escape_string($titre);
$titre=$_POST['5'];
$titre5=mysql_real_escape_string($titre);
$progression=$_POST['1'];
$progression1=mysql_real_escape_string($progression);
$progression=$_POST['2'];
$progression2=mysql_real_escape_string($progression);
$progression=$_POST['3'];
$progression3=mysql_real_escape_string($progression);
$progression=$_POST['4'];
$progression4=mysql_real_escape_string($progression);
$progression=$_POST['5'];
$progression5=mysql_real_escape_string($progression);

//modifications des tables
mysql_query("UPDATE classement SET nom='".$nom1."' WHERE id='1'");
mysql_query("UPDATE classement SET nom='".$nom2."' WHERE id='2'");
mysql_query("UPDATE classement SET nom='".$nom3."' WHERE id='3'");
mysql_query("UPDATE classement SET nom='".$nom4."' WHERE id='4'");
mysql_query("UPDATE classement SET nom='".$nom5."' WHERE id='5'");
echo"Classement modifier !"; //message
}

$requete = mysql_query("SELECT * FROM classement");

 echo'<form action="ajout_classement_albums.php" method="post">';
while($classement = mysql_fetch_array($requete)) //boucle qui affiche les 5 champs du formulaire
{
echo'<label for="'.$classement['id'].'">n° '.$classement['id'].'</label><input type="text" name="'.$classement['id'].'" id="'.$classement['id'].'"/><br/>';
 }
 {   
     echo' <label for="nom">Nom</label><br />
        <input type="text" name="nom" id="nom" tabindex="20" value=""/><br >

        <label for="titre">titre</label><br />
        <input type="text" name="titre" id="titre" tabindex="20" value=""/><br />
                           <label for="progression">progression</label><br />
        <textarea name="progression" id="progression" tabindex="20"></br />';
  }
 echo' <input type="submit" value="Ajouter" name="requete" /></form>'; //ajouté le ;
 
 include("./includes/bas.php");
 ?>
et classements_albums et la il affiche une message d'erreur: http://topmusic.free-hosting.fr/classements_albums.php
 <?php
include("./includes/haut.php");
?>

<div id="classement">
<?php
mysql_connect("", "", "");
mysql_select_db("");
?>
<p><?php $requete = mysql_query("SELECT * FROM classement ORDER BY id");
while($classement = mysql_fetch_array($requete))
{echo "Nom : ".$classement['nom']." titre : ".$classement['titre']." progression : ".$classement['progression']."<br/>"; }?></p>  //fin de la boucle
</div>

<?php 
}
include("./includes/bas.php");
?>
Mon probleme ce sont les 2 fichiers;

Vous pouvez m'aider SVP?

merci par avance pour votre aide

Re: probleme fichier classement

Posté : 22 nov. 2009, 15:33
par Ryle
Pour ton premier script, tes chemins pour les inclusions sont incorrects. C'est le message d'erreur que te donne php : "failed to open stream: No such file or directory ", le fichier n'a pas été trouvé.

Tu dois indiquer l'emplacement du fichier que tu veux inclure à partir du script qui est exécuté :
"./" fait référence au dossier courrant
"../" te permet de remonter au dossier parent

Vérifies si les fichiers sont bien présents sur le serveur et que ton chemin par rapport au dossier includes est correct.
Il te manque également la balise fermante </textarea> dans ton code :)


Pour ton second script, comme te l'indique php, tu as une accolade fermante innattendue dans ton "Parse error: syntax error, unexpected '}' ". Tu n'as en effet aucune accolade ouvrante correspondant, elle n'a donc rien à faire là...

Re: probleme fichier classement

Posté : 22 nov. 2009, 15:36
par david18
pour l'include, je sais, ce n'est pas pour ca, que je vous ai ecris,

et pour les scripts, desolé, mais je n'ai pas tres bien compris

merci par avance pour votre aide

Re: probleme fichier classement

Posté : 22 nov. 2009, 15:38
par Dr@ke
while($classement = mysql_fetch_array($requete)) //boucle qui affiche les 5 champs du formulaire
{
echo'<label for="'.$classement['id'].'">n° '.$classement['id'].'</label><input type="text" name="'.$classement['id'].'" id="'.$classement['id'].'"/><br/>';
 }
// les { et } sont en trop je pense
 {  
     echo' <label for="nom">Nom</label><br />
        <input type="text" name="nom" id="nom" tabindex="20" value=""/><br >

        <label for="titre">titre</label><br />
        <input type="text" name="titre" id="titre" tabindex="20" value=""/><br />
                           <label for="progression">progression</label><br />
        <textarea name="progression" id="progression" tabindex="20"></br />';
// les { et } sont en trop je pense
  }
Donc:
while($classement = mysql_fetch_array($requete)) //boucle qui affiche les 5 champs du formulaire
{
echo'<label for="'.$classement['id'].'">n° '.$classement['id'].'</label><input type="text" name="'.$classement['id'].'" id="'.$classement['id'].'"/><br/>';
 }
echo' <label for="nom">Nom</label><br />
        <input type="text" name="nom" id="nom" tabindex="20" value=""/><br >

        <label for="titre">titre</label><br />
        <input type="text" name="titre" id="titre" tabindex="20" value=""/><br />
                           <label for="progression">progression</label><br />
        <textarea name="progression" id="progression" tabindex="20"></br />';
Puis:
<?php
include("./includes/haut.php");
?>

<div id="classement">
<?php
mysql_connect("", "", "");
mysql_select_db("");
?>
<p><?php $requete = mysql_query("SELECT * FROM classement ORDER BY id");
while($classement = mysql_fetch_array($requete))
{echo "Nom : ".$classement['nom']." titre : ".$classement['titre']." progression : ".$classement['progression']."<br/>"; }?></p>  //fin de la boucle
</div>

<?php
// celui la est trop aussi je pense
}
include("./includes/bas.php");
?>
Donc:
<?php
include("./includes/haut.php");
?>

<div id="classement">
<?php
mysql_connect("", "", "");
mysql_select_db("");
?>
<p><?php $requete = mysql_query("SELECT * FROM classement ORDER BY id");
while($classement = mysql_fetch_array($requete))
{echo "Nom : ".$classement['nom']." titre : ".$classement['titre']." progression : ".$classement['progression']."<br/>"; }?></p>  //fin de la boucle
</div>

<?php
include("./includes/bas.php");
?>

Re: probleme fichier classement

Posté : 22 nov. 2009, 15:50
par christele
Bonjour,
merci par avance pour votre aide
Bonjour, en fait il faut que tu relises ligne par ligne tes PHP, c'est plein d'erreurs de syntaxe
Ne mélanges pas trop le HTML et PHP car tu oublies d'ouvrir et fermer tes PHP ou echo ...

Voila par exemple classements_albums.php
et en plus sans certitudes sur ce que contiennent tes includes ni leur chemin qui apparament est faux

Code : Tout sélectionner

<?php include("./includes/haut.php"); echo ("<div id='classement'>"); $flag=mysql_connect("", "", ""); $flag=mysql_select_db(""); echo ("<p>"); $requete = mysql_query("SELECT * FROM classement ORDER BY id"); while($classement = mysql_fetch_array($requete)) { echo "Nom : ".stripslashes($classement['nom'])." titre : ".stripslashes($classement['titre'])." progression : ".stripslashes($classement['progression'])."<br />"; } echo ("</p></div>"); include("./includes/bas.php"); ?>

Re: probleme fichier classement

Posté : 22 nov. 2009, 15:55
par Dr@ke
je déconseille le stripslashes() dans ces conditions.

Re: probleme fichier classement

Posté : 22 nov. 2009, 16:01
par david18
, je viens d'essayer le code, envoyé, avant, pour ajout_classement_albums, il n'y a rien de changé, il n'y pas le bouton ajouter, regarder,
http://topmusic.free-hosting.fr/ajout_c ... albums.php

et pour le fichier classements_albums, je crois que ca marche, regarder http://topmusic.free-hosting.fr/classements_albums.php

comment je pourrai regler le probleme du 1er fichier?

merci par avance

Re: probleme fichier classement

Posté : 22 nov. 2009, 16:08
par Dr@ke
Pour le premier fichier, Ryle t'avait répondu, il avait d'ailleurs répondu a tout, mais j'étais déjà en fonction édit.

Problème de chemin donc:
(Il ne trouve pas les fichiers include()).

Les fichiers include() ne se trouvent surement pas dans le même répertoire:
./ = même répertoire
../ = descendre d'un répertoire
.../ = descendre de deux répertoire

Re: probleme fichier classement

Posté : 22 nov. 2009, 16:25
par david18
Ce n'est pas pour l'include que je vous ecris, oubliez l'include un moment, je sais, le fichier include n'existe pas, ce fichier c'est juste une exemple, pour voir si ca marche ou pas pour pouvoir, le mettre sur une fichier normal...

Re: probleme fichier classement

Posté : 22 nov. 2009, 16:40
par Dr@ke
Faute de frappe ici: </br />

Donc:
while($classement = mysql_fetch_array($requete)) //boucle qui affiche les 5 champs du formulaire
{
echo'<label for="'.$classement['id'].'">n° '.$classement['id'].'</label><input type="text" name="'.$classement['id'].'" id="'.$classement['id'].'"/><br/>';
 }
echo' <label for="nom">Nom</label><br />
        <input type="text" name="nom" id="nom" tabindex="20" value=""/><br >

        <label for="titre">titre</label><br />
        <input type="text" name="titre" id="titre" tabindex="20" value=""/><br />
                           <label for="progression">progression</label><br />
        <textarea name="progression" id="progression" tabindex="20"><br />
        <input type="submit" value="Ajouter" name="requete" /></form>';
 
 include("./includes/bas.php");

Re: probleme fichier classement

Posté : 22 nov. 2009, 16:45
par david18
je viens d'essayer mais il n'y a rien de changé.

merci par avance

Re: probleme fichier classement

Posté : 22 nov. 2009, 16:51
par Dr@ke
Normal, t'as été trop rapide :wink:
J'avais édité le code juste après.
Réessaye le code.

Re: probleme fichier classement

Posté : 22 nov. 2009, 16:59
par Dr@ke
Et comment tes includes avec des //, ca fausse le résultat et la recherche des erreurs et ce même html

[EDIT]
Et enlève le tabindex dans le textarea pour voir.

Re: probleme fichier classement

Posté : 22 nov. 2009, 17:01
par david18
Mais c'est toujours pareil

merci par avance

Re: probleme fichier classement

Posté : 22 nov. 2009, 17:10
par Dr@ke
Ok j'ai trouvé, c'était tout bête comme souvent, tu as oublié de fermer ton textarea:
while($classement = mysql_fetch_array($requete)) //boucle qui affiche les 5 champs du formulaire
{
echo'<label for="'.$classement['id'].'">n° '.$classement['id'].'</label><input type="text" name="'.$classement['id'].'" id="'.$classement['id'].'"/><br/>';
 }
echo' <label for="nom">Nom</label><br />
        <input type="text" name="nom" id="nom" tabindex="20" value=""/><br >

        <label for="titre">titre</label><br />
        <input type="text" name="titre" id="titre" tabindex="20" value=""/><br />
                           <label for="progression">progression</label><br />
        <textarea name="progression" id="progression" tabindex="20"></textarea><br />
        <input type="submit" value="Ajouter" name="requete" /></form>';
 
 include("./includes/bas.php");
Marque résolut :wink: