Erreur dans mon code PHP

cheslot Messages postés 131 Statut Membre -  
aciddev Messages postés 207 Statut Membre -
Bonjour CCMiens,

J'ai une erreur qui intervient dans ma page et je n'arrive pas à la résoudre :
Parse error: syntax error, unexpected '}' in /home/u612267238/public_html/desktop/search.php on line 49


Voici le fichier en question :
<?php

include("toolbar.php");
include("../conf.inc.php"); 
$limit = 10;
if($debut == ""){$debut=0;}
$debut = $pge*$limit;
$requete = "select * from users where prenom like '%$search%' limit $debut, $limit";
$total = mysql_query($requete);
$nb_tot = mysql_num_rows($total);
$nbpages = ceil($nb_tot/$limit);
$resultat = mysql_query($requete. 'limit, $debut, $limit); 

while ($rows=mysql_fetch_array($resultat)) {
?>
<table style="text-align: left; width: 800px; height: 150px; border="1" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td style="width: 150px; height: 150px;"></td>
      <td style="width: 650px; height: 150px;">
      <div style="text-align: center;"><big><big><? echo $rows["prenom"]; ?> <? echo $rows["nom"]; ?></big></big><br />
      </div>
      <br />
      <br />
      <br />
      <div style="float: left;"><img
 style="width: 32px; height: 32px;" alt=""
 src="file:///C:/Users/William/Pictures/user.bmp" /> <span
 style="font-family: Arial; font-weight: bold;">Genre
: <?php if ($rows["genre"] == "m") {echo "Homme";} if ($rows["genre"] == "f") {echo "Femme";} ?></span></div>
      <div style="float: right;"><img
 style="width: 32px; height: 32px;" alt=""
 src="file:///C:/Users/William/Pictures/birthdate.bmp" /><span
 style="font-family: Arial; font-weight: bold; float: right;">Date
de naissance : <? echo $rows["month"]; ?>/<? echo $rows["day"]; ?>/<? echo $rows["year"]; ?></span></div>
      </td>
    </tr>
  </tbody>
</table>
<?php }

if($nbpages>>3 and $pge>2){
        echo  "<a href=\"?pge=0&search=$search\"><b>Début</b></a>";
        }

if ($pge>0){
        $precedent=$pge-1;
        echo  "<a href=\"?pge=$precedent&search=$search\"><b><fontcolor='#993366'>Précédente</font></b></a>";
        }

$i=0;$j=1;
if($nb_tot>$limit){
        while($i<($nbpages))
                { 
                        if ($i>$pge-3 and $i<$pge+3)
                        {
                                if($i!=$pge){echo "<a href=\"?pge=$i&search=$search\">$j</a>";}
                                else {echo "<b>$j</b> ";}
                        }
                        $i++;$j++;
                }
}

if($pge<$nbpages-1){
        $suivant=$pge+1;
        echo "<a href=\"?pge=$suivant&search=$search"><b></b></a>";
        }        

if($nbpages>3 and $pge<$nbpages-3){
$fin=$nbpages-1;
        echo  "<a href=\"?pge=$fin&search=$search\"><b>fin</b> ($nbpages)</a>";
        } 

?>


<? include "../blocker.php"; ?>


Merci d'avance!

3 réponses

  1. aciddev Messages postés 207 Statut Membre 25
     
    Ligne 12 :

    $resultat = mysql_query($requete. 'limit, $debut, $limit);

    Remplace cette ligne par

    $resultat = mysql_query($requete. 'limit, $debut, $limit');

    Tu as oublié une ' en fin de ligne. Attention à cette erreur lors des concaténations.
    1
    1. cheslot Messages postés 131 Statut Membre 14
       
      Merci!
      0
    2. aciddev Messages postés 207 Statut Membre 25
       
      Une autre erreur aussi à la ligne 66 :

      echo "<a href=\"?pge=$suivant&search=$search"><b></b></a>";

      a remplacer par :

      echo '<a href=\"?pge=$suivant&search=$search"><b></b></a>';

      Attention à l'utilisation des quotes en PHP, c'est source de pas mal de problèmes en cas de mauvaise combinaison au HTML

      Edit : et ça recommence ligne 71, même souci
      0
    3. aciddev Messages postés 207 Statut Membre 25
       
      Tant que j'y suis, fais très attention à tes requêtes SQL.
      La requête que tu utilises actuellement peut être source d'injections SQL.
      Il est préférable d'utiliser les requêtes préparées.

      Regarde du côté de PDO :

      http://www.manuelphp.com/php/pdo.prepared-statements.php
      0
  2. momohuri Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   8
     
    tu peut préciser quel est la ligne 49? la flemme de les comptes....
    0
  3. cheslot Messages postés 131 Statut Membre 14
     
    Encore une erreur...
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/u612267238/public_html/desktop/search.php on line 14
    0
    1. cheslot Messages postés 131 Statut Membre 14
       
      $requete = "select * from users where prenom like '%$search%' limit $debut, $limit";
      $total = mysql_query($requete);
      $nb_tot = mysql_num_rows($total);
      $nbpages = ceil($nb_tot/$limit);
      $resultat = mysql_query($requete. 'limit, $debut, $limit');

      while ($rows=mysql_fetch_array($resultat)) {
      0
    2. aciddev Messages postés 207 Statut Membre 25
       
      Ligne 8, remplace ta requete par celle-ci :

      $requete = 'SELECT * FROM users WHERE prenom LIKE '.$search.' limit '.$debut.', '.$limit.'';
      0
    3. cheslot Messages postés 131 Statut Membre 14
       
      Merci encore!
      0
    4. aciddev Messages postés 207 Statut Membre 25
       
      Pas de souci :)
      0