2010-06-01 4 views
0

EDIT: J'ai oublié d'ajouter des points-virgules. Maintenant, il y a un autre problème. Je reçois une erreur:Mon simple PHP sort de mauvaises choses

Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\useraccess.php on line 12 

Il produit:

0){ echo 'si'; } ?> 

Quand il ne devrait afficher 'si' dans le corps.

Voici le code:

<html> 
    <head> 
    </head> 

    <body> 
     <? 
      $user = mysql_real_escape_string($_GET["u"]) 
      $pass = mysql_real_escape_string($_GET["p"]) 

      $query = "SELECT * FROM usario WHERE username = '$user' AND password = '$pass'" 

      mysql_connect(localhost, "sergio", "123"); 
      @mysql_select_db("multas") or die("Unable to select database"); 

      $result=mysql_query($query); 
      if(mysql_numrows($result) > 0){ 
       echo 'si'; 
      } 
     ?> 
    </body> 
</html> 
+1

Essayez hudolejev

+1

Si j'étais vous, je compterais à la ligne 12, alors cherché un "T_STRING inattendu". On dirait que vous avez cherché 10 secondes avant de mettre à jour la question. – sshow

Répondre

2

En ce qui concerne l'erreur "inattendue T String":

La déclaration mysql connecter devrait lire:

mysql_connect('localhost', 'sergio', '123'); 
+0

Pourquoi devrait-il avoir des guillemets simples? –

+0

@sergia tapia: C'est un peu mieux pour la gestion de la mémoire: en PHP, si vous utilisez des guillemets doubles, la chaîne est analysée en recherchant des variables. – Satanicpuppy

4

C'est parce que vous utilisez des balises courtes php <? qui très probablement ne sont pas activés dans php.ini. Essayez d'utiliser <?php ou activez des balises courtes à partir de php.ini mais cela n'est pas recommandé.

Notez également que vous manquez point-virgule (;) fot ces lignes:

$user = mysql_real_escape_string($_GET["u"]) 
$pass = mysql_real_escape_string($_GET["p"]) 

$query = "SELECT * FROM usario WHERE username = '$user' AND password = '$pass'" 
+2

Le nom de l'option permettant d'activer les balises courtes est: 'short_open_tag'. Jetez un oeil à cet article pour voir pourquoi l'activation n'est pas recommandée: http://terrychay.com/article/short_open_tag.shtml – matias

+0

@matias: Merci d'avoir ajouté ce lien. – Sarfraz

2

Vous avez besoin des points-virgules sur votre utilisateur $, $ pass et les variables de requête $.

2

manquant point-virgule après

$query = "SELECT * FROM usario WHERE username = '$user' AND password = '$pass'" 

bâton entre guillemets 'localhost'