Aide - Recherche - Membres - Calendrier
Version complète : Problème Script Php
La Communauté TitaXium > Service Communication > Espace Developpement
Jojo
Bonjour,

J'ai décider de me bouger un peu les fesses et de remettre un peu mon site à niveau, rajouter du contenu, un peu de PHP etc...

Voila je suis entrain de faire un script super simple, mais vu que sa fait 4 mois que j'ai pas touché au PHP, je vous demande votre aide.

C'est un script tout simple pour ajouter des wallpapers depuis mon paneau admin.

Voici le script:

Code
<?PHP  
     
//on empeche les erreurs de notice;)
error_reporting(E_ALL ^ E_NOTICE);

//connection base de données
mysql_connect("*****", "****", "****");
mysql_select_db("*****");

// Les wall seront affichés sur plusieurs pages, on va créer les liens...
//
//entrer ici le nombre de messages par page !
$nombre_de_wall_par_page = 10;
//on compte le nombre de messages au total
$nombre_de_wall_total = mysql_query("SELECT COUNT(*) AS nbre FROM wall");
$r = mysql_fetch_array($nombre_de_wall_total);
$nombre_de_wall_total = $r['nbre'];
//on calcule le nombre de pages à créer avec l'entier arrondi au dessus (ceil();)
$nombre_de_pages = ceil($nombre_de_wall_total / $nombre_de_wall_par_page);
//on regarde le numéro de la page actuel
if (isset($_GET['page']))
    {
    $page = $_GET['page'];
    }
else
    {
    $page = 1;
    }
//on calcule le numéro du premier message à prendre
$premier_wall_a_afficher = ($page - 1) * $nombre_de_wall_par_page;
//on fait la requete avec toutes ces informations
$requete = mysql_query("SELECT * FROM wall ORDER BY id DESC LIMIT ".$premier_wall_a_afficher.",".$nombre_de_wall_par_page."");
//on fait la boucel pour écrire les messages
while ($r = mysql_fetch_array($requete))
    {
 ?>
 <a href="<?PHP echo" $r['image']" ?>"><img src="<?PHP echo" $r['image']" ?>" width="300" height="250" title="<?PHP echo"$r['titre']"?>" /></a>
 <?PHP
 }
 ?>


Voila, quand je met sa sur mon site il m'affiche cette erreur:

Code
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/duel/www/galerie/wall.php on line 89


Et la ligne 89 c'est:

Code
<a href="<?PHP echo" $r['image']" ?>"><img src="<?PHP echo" $r['image']" ?>" width="300" height="250" title="<?PHP echo"$r['titre']"?>" /></a>


Voila, perso je ne voix pas l'erreur, pouvez vous me dire ou elle est plz ?

A+ smartass.gif
nonos
Citation
<?PHP echo $r['image'] ;?>
Jojo
It's good^^

Merci beaucoup ^_^

A+ smile.gif
Jojo
Désoler du double post^^

Merci Nonos d'avoir réouvert smile.gif

Bon le script du wall marche très bien now smartass.gif

J'ai un autre petit problème, je suis sur un script pour ajouter des listes de séries de cartes dans ma BDD. Il y a 3 types de carte: Les Françaises, Américaines, Japonaises^^

J'ai créer le script pour les FR et il marche très bien. Pour les US et les JAP j'ai fais exactement le même script, sauf que j'ai changé le nom de la base ou les données vont être stockés. Le seul problème, c'est que quand j'essaie d'ajouter des cartes Américaines, il m'enregistre ces carts dans la table des Françaises (alors qu'il faut qu'elle soient enregistrés dans la table des Us). C'est pareil pour les JAP (les cartes s'enregistrent dans la table des Fr).

Voici le script pour les Françaises (qui marche très bien^^):

Mon Formulaire: (ajout_cartes_fr.php)

HTML
<form name="form1" id="form1" method="post" action="ok_cartes_fr.php">
<table width="339" height="93" border="0">
<tr>
<td width="107"><div align="center"><span class="Style26">R&eacute;f&eacute;rence:</span> <br />
</div></td>
<td width="222"><input name="ref" type="text" id="ref" value="<?PHP echo $ref; ?>" /></td>
</tr>
<tr>
<td><div align="center"><span class="Style26">Nom de S&eacute;rie:</span></div></td>
<td><input name="serie" type="text" id="serie" value="<?PHP echo $serie; ?>" /></td>
</tr>
<tr>
<td><div align="center" class="Style26">Genre</div></td>
<td><input name="genre" type="text" id="genre" value="<?PHP echo $genre; ?>" /></td>
</tr>
</table>
<p><span class="Style26">
<input type="submit" name="Submit" value="Envoyer" />
<br />
</span> </p>
</form>


Mon code qui analyse le formulaire:

Code
<?PHP //on empeche les erreurs de notice;)
error_reporting(E_ALL ^ E_NOTICE);

//connection base de données
mysql_connect("*******", "****", "****");
mysql_select_db("****");
     
     $ref = $_POST['ref'];
  $serie = $_POST['serie'];
  $genre = $_POST['genre'];
 
  //on ajoute des \ devant les " et les ' pour rentrer le message dans la bdd
       $ref = addslashes($ref);
       $serie = addslashes($serie);
       $genre = addslashes($genre);
 
    //on insert toutes les données valides dans la base de données
       mysql_query("INSERT INTO ajout_cartes_fr (id,ref,serie,genre) VALUES('','$ref','$serie','$genre')");
   
    ?>
                     <p>
               <script language="JavaScript">
              alert('Enregistrement réussi !');
                </script>
               <?PHP
       
    
?>


Donc voila, ce script marche bien, il permet d'ajouter la listes des séries de cartes dans la BDD.

Voiçi le script pour les cartes Japonaises, il ne m'affiche aucune erreur mais enregistre mes cartes dans la table des Françaises.

Le formulaire des cartes JAP est exactement le même que les cartes Françaises (un vieux copié/collé)


Voiçi l'analyse des cartes Japonaises:

Code
  <?PHP //on empeche les erreurs de notice;)
error_reporting(E_ALL ^ E_NOTICE);

//connection base de données
mysql_connect("*********", "****", "****");
mysql_select_db("****");
     
     $ref = $_POST['ref'];
  $serie = $_POST['serie'];
  $genre = $_POST['genre'];
 
  //on ajoute des \ devant les " et les ' pour rentrer le message dans la bdd
       $ref = addslashes($ref);
       $serie = addslashes($serie);
       $genre = addslashes($genre);
 
    //on insert toutes les données valides dans la base de données
       mysql_query("INSERT INTO ajout_cartes_jap (id,ref,serie,genre) VALUES('','$ref','$serie','$genre')");
   
    ?>
                     <p>
               <script language="JavaScript">
              alert('Enregistrement réussi !');
                </script>
               <?PHP
       
    
?>


Donc voila il est identique à 98%, j'ai juste changer ajout_cartes_fr par ajout_cartes_jap (dans la requête SQL).

Comment cela ce fait que sa ne fonctionne pas ?

A+ ^_^
Ouark
essaies déjà ta requete dans phpmyadmin pour voir si ça vient de la ou du php.

Pourquoi avoir créer deux tables quasiment identique, tu aurai pu en faire une seul en rajoutant un champ qui stock le type de la carte.
Jojo
Bonne réponse :x

Ouai tu as raison, j'ai changer la table et j'ai ajouté un champs "langue" avec un liste et sa marche très bien^^

Merci à toi, ne locker pas ce topic on sait jamais si j'ai encore besoin d'aide^^

A+ smartass.gif
elf
juste une question aux pros du PHP (m0g?SX?) c'est <?php ou <?PHP ???
Jojo
Les deux smile.gif

A+
Ouark
Les 2 fonctionnent sans doute mais <?PHP fait pas partie des balises d'ouverture wink.gif

-> La syntaxe de base
sibalo
utilise plutot <?php tu n'auras pas probleme -_-
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2010 Invision Power Services, Inc.