problema sql jeniection

ciao ragazzi mi controllate questo codice xche mi da questo errore:

Parse error: parse error, unexpected T_ELSE in C:\xampp\htdocs\componente\formutentemessaggistica.php on line 63

<?php
//Includo i file per la connessione
//e per la verifica Utente
require_once('connessione.php');
require_once('verificalogin.php');
?>

<html>
<head>
</head>

<body>

<?

switch ($_POST['action']) {

case "registra": 

session_start();
//Recupero i valori da una Form mediante il metodo POST
       
    $username = $_POST['username'];
    $password = $_POST['password'];
    $nome= $_POST['nome'];
   $cognome = $_POST['cognome'];
   $cellulare = $_POST['cellulare'];
   $città = $_POST['città'];
   
   /*preg_match("$!(a-Z0-9)$", $nome, $array);
   print_r($array);*/
 if(ereg("^[A-Z0-9]+$",$nome)){
 
 
 
 

    //CONTROLLO SE L'USERNAME UTILIZZATO DA UN NUOVO UTENTE E' GIA' IN USO OPPURE NO
     $query1 = "SELECT username FROM utente WHERE username = '$username'"; 
     $result1 = mysql_query($query1) or die("Errore nella query1:".mysql_error()); 
    
         
       if ((mysql_num_rows($result1) > 0) ){ 
  // SE TROVO UN UTENTE CON QUELL'USERNAME MI DICE CHE IN USO
echo "Il nome $username è in uso"; 
echo "<a href=\"javascript:history.back()\">Torna Indietro</a>";
                               } 


else {

$strSQL = "INSERT INTO utente(username,password, nome, cognome, cellulare, tipo)";
$strSQL .= "VALUES('$username',MD5('".$password."') , '$nome', '$cognome', '$cellulare', 'm')";

mysql_query($strSQL)OR die("Errore nella query:".mysql_error());
echo "<br>REGISTRAZIONE EVVENUTA CON SUCCESSO!!!";
echo "<br><a href='homepage.php'>Vai all' homepage dell'utente loggato</a>";
echo("<META http-equiv=\"refresh\" content=\"2;URL=homepage.php\">\n");

}


else 
 {
 echo "no";
 }
    
$_SESSION['utenteM'][0]=$username;
//Chiudo la connessione al db
mysql_close();


break; 
   
   
   default: 
   echo '
   
<div align="center">
<h1>REGISTRAZIONE UTENTE MESSAGGISTICA </h1>
</div>
<FORM NAME="formregistrazioneutentemessaggistica" action="formutentemessaggistica.php" method="post" >
<div align="center">  
  <table width="540" height="261" border="0" bordercolor="#99CC33">
    <tr>
      <td width="75" height="35">Nome:</td>
      <td width="155"><input type="text" name="nome"></td>
      <td width="86"><p>Cognome:</p>
        </td>
      <td width="206"><input type="text" name="cognome"></td>
    </tr>
   <input name="action" type="hidden" value="registra">
    <tr>
      <td height="33">Cellulare</td>
      <td colspan="3"><input name="cellulare" type="text" size="30"></td>
     <input type="hidden" name="tipo">
    </tr>
    <tr>
      <td height="43">Citt&agrave;</td>
      <td><input name="citt&agrave;" type="text" size="24"></td>
    </tr>
      <tr>
        <td height="41">Username:</td>
        <td><input type="text" name="username"></td>
      </tr>
      <tr>
         <td height="35">Password:</td>
      <td><input type="password" name="password"></td>
     
    </tr>

   <td colspan="2" align="center"><input type="submit" value="Invia"></td>
 </tr>
  </table>
</div>
</form>';

   break;

 }



?>
</body>
</html>
inviato 10 anni fa
riga1
X 0 X

dando uno sguardo veloce sembra che ti sei ciucciato una "}" che chiude "if(ereg("^[A-Z0-9]+$",$nome)){"

 prima di questra istruzione

else 
 {
 echo "no";
 }
risposto 10 anni fa
Toto007
X 0 X

si l'ho messa ma mi da stesso errore

però togliendo tutti gli if tra il primo non mi entra nell'if del controllo della variabile

risposto 10 anni fa
riga1
X 0 X

Hei, ha ragione Toto007. Prima delle righe:

else 
 {
 echo "no";
 }

manca una parentesi graffa.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda