Problema con php (clases)

Buenas tengo un error al utilizar clases en php y no se porque puede ser. Os pongo el código y os comento:

Tengo una página para que los usuarios se den de alta en ella, pudiendo ser 2 tipos de usuarios: apostantes o propietarios.
La página de alta es esta:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Compra y Venta de Coches</title>
</head>
<body>
<div id="principal">
  <div id="titulo">Darse de alta.</div>
  <div id="cuerpo">

  <form id="login" name="login" method="post" action="validar_usuario.php">
    <label>Nombre
    <input type="text" name="nombre" id="nombre" />
    <br />
    <br />
    Telefono
    <input type="text" name="telefono" id="telefono" />
    <br />
    <br />
    DNI
    <input type="text" name="DNI" id="DNI" />
    </label>
      <p>
        <label>Password
        <input type="password" name="password" id="password" />
        </label>
      </p>
      <p>
        <label>
        <input type="radio" name="tipo_usuario" value="1" id="tipo_usuario_0" />
Propietario</label>
        <br />
        <label>
        <input type="radio" name="tipo_usuario" value="2" id="tipo_usuario_1" />
Apostante</label>
      </p>
      <p>
         <label>
         <input type="submit" name="enviar" id="enviar" value="Submit" />
         </label>
        <br />
      </p>
  </form>
  </div>
  </div>
</body>
</html>


El formulario que utilizo en ella llama a validar_usuarios.php que contiene esto:
<?php
include_once ("propietario.php");
include_once ("apostantes.php");


   //Recogemos los valores del formulario de alta
   $usuario = $_POST["nombre"];
   $tlf = $_POST["telefono"];
   $dni = $_POST["DNI"];
   $password = $_POST["password"];
   $tipo_usu = $_POST["tipo_usuario"];
   $est = "Alta";
   //Comprobamos que tipo de usuario es
   if($tipo_usu == '1'){//Propietario
   
      prop = new Propietario;
      $conexion = mysql_connect("localhost","****","****") or die("No se ha podico conectar con la bbdd");
      prop->AltaPropietario($usuario,$tlf,$dni,$password,$conexion);
      
   }
   else{//Apostante
      if($tipo_usu == '2'){
         apos = new Apostante;
         $conexion =  mysql_connect("localhost","***","*****") or die("No se ha podico conectar con la bbdd");
         apos->AltaApostante($usuario,$tlf,$dni,$password,$conexion);
      }
      else{
         print("No ha selecionado el tipo de usuario"."<br>");   
      }
   }

?>


En el hago uso de las clases apostantes y propietario que las defino en el los archivos propietario.php
<?php
include_once "vehiculo.php"
   class Propietario{
   //Parte Privada
      $private nombre;
      $private telefono;
      $private dni;
      $private pass:
      $private estado;
   
   //Parte Publica   
   
      function Propietario($dni,$conexion){// Una vez logueado  nos vale para crear el usuario con el nombre y el pass
         $consulta = "Select dni,pass from Propietario";
         $resultado = mysql_db_query("Rest_75154953S",$consulta,$conexion);
         if(mysql_num_rows($resultado)>0){
            band = '0';
            while($item = mysql_fetch_array($resultado) && band='0'){
               if($item.dni == dni){//Posibles fallos al coger la informacion de la consulta
                  $consulta2 = "Select * from Propietario where `dni`='".dni."'";
                  $resultado2 = mysql_db_query("Rest_75154953S",$consulta2,$conexion);
                  $this->nombre = $resultado2["nombre"];
                  $this->telefono = $resultado2["telefono"];
                  $this->dni = $dni;
                  $this->pass = $resultado2["pass"];
                  $this->estado = $resultado2["estado"];
                  band = '1';
               }
            }
         }
         else
            print("Fallo internto"."<br>");
      }
      
      function AltaPropietario($usuario,$telefono,$dni,$password,$conexion){
         
         ComprobarPropietario($dni,$password,$valor,$conexion); //Funcion que comprueba que el usuario no este dado ya de alta
         if($valor = '0'){//Usuario inexistente en la bbdd
            $consulta = "Insert into Propietario (nombre,telefono,dni,pass,estado) Values ('".$usuario."','".$telefono."','".$dni."','".$pass."', 'alta');
            $resultado = mysql_db_query("Rest_75154953S",$consulta);
            if(mysql_num_rows($resultado)>0){
               print("Se ha registrado correctamente"."<br>");
               print("Se le redireccionara a la pagina principal"."<br>");
               header("Refresh: 1; URL=index.html");
            }
            else{
               print("Error Interno, por favor intentelo mas tarde"."<br>");
               header("Refresh: 1; URL=index.html");
            }
            
         }
      }
      
      function ComprobarPropietario($dni,$passw,&$valor,$conexion){
         if($conexion){
            $consulta = "Select * From Propietario where dni = '".$dni."'"; //Realizamos la consulta
            $resultado = mysql_db_query("Rest_75154953S",$consulta); //Conectamos con la bbdd
            if($resultado.dni == $dni){
               if($resultado.password == $pass)
                  $valor = '1';//Existe Propietario
               else
                  $valor = '2' //Existe Propietario pero el pass es erroneo
            }
            else
               $valor = '0';//No existe Apostante
         }
      }
      
      function ListadoCoches($conexion){
         $consulta = "Select * From Vehiculo where dni ='".$this->dni."' ";
         $resultado = mysql_db_query("Rest_75154953S",$consulta,$conexion);
         if(mysql_num_rows($resultado) > 0){ //Hay algun coche
            while($item = mysql_fetch_array($resultado)){
               //Muestras el coche   
            }
         }
         else
            //Error en la consula
      }
      
      

      
   }
?>


y apostantes.php
<?php
include_once "vehiculo.php";
   
   class Apostante{
   //Parte Privada
   
      private $nombre;
      private $telefono;
      private $dni;
      private $pass;
   
   //Parte Publica
      
      function Apostante(){}
      function Apostante($dni,$conexion){ // Una vez logueado  nos vale para crear el usuario con el nombre y el pass
         $consulta = "Select dni from apostantes";
         $resultado = mysql_db_query("Rest_75154953S",$consulta,$conexion);
         if(mysql_num_rows($resultado)>0){
            band = '0';
            while($item = mysql_fetch_array($resultado) && band='0'){
               if($item.dni == $dni){//Posibles fallos al coger la informacion de resultado2
                  $consulta2 = "Select * from apostantes where dni='".dni."'";
                  $resultado2 = mysql_db_query("Rest_75154953S",$consulta2,$conexion);
                  $this->nombre = $resultado2["nombre"];
                  $this->telefono = $resultado2.["telefono"];
                  $this->dni = $dni;
                  $this->pass = $resultado["password"];
                  $this->estado = $resultado2["estado"];
                  band = '1';
               }
            }
         }
         else
            print("Error internto"."<br>");
      }
      
      function AltaApostante($usuario,$telefono,$dni,$password,$estado,$conexion){
         

         ComprobarApostante($dni,$valor,$conexion); //Funcion que comprueba que el usuario no este dado ya de alta
         if($valor = '0'){//Usuario inexistente en la bbdd
            $consulta = "Insert into apostante (nombre,telefono,dni,pass,estado) Values ('".$usuario."','".$telefono."','".$dni."','".$pass."', 'alta');
            $resultado = mysql_db_query("Rest_75154953S",$consulta);
            if(mysql_num_rows($resultado)>0){
               print("Se ha registrado correctamente"."<br>");
               print("Se le redireccionara a la pagina principal"."<br>");
               header("Refresh: 1; URL=index.html");
            }
            else{
               print("Error Interno, por favor intentelo mas tarde"."<br>");
               header("Refresh: 1; URL=index.html");
            }
            
         }
      }
      
      function ComprobarApostante($dni,&$valor,$conexion){
         if($conexion){
            $consulta = "Select * From apostante where dni = '".$dni."'"; //Realizamos la consulta
            $resultado = mysql_db_query("Rest_75154953S",$consulta); //Conectamos con la bbdd
            if($resultado.dni == $dni)
               if($resultado.password == $pass){
                  $valor = '1';//Existe apostante
               else
                  $valor = '2';//existe Apostante pero contraseña erronea
            }
            else
               $valor = '0'; //El usuario no existe
         }
      }
         
      function Apuestas($conexion){
         $consulta =  "Select * from apuesta where dni= '".$this->dni."'";
         $resultado = mysql_db_query("Rest_75154953S",$consulta,$conexion);
         if(mysql_num_rows($resultado) > 0){
            while($item = mysql_fetch_array($resultado)){
               //mostramos la lista de apuestas...   
               
            }
         }
         else{
            //No se ha realizado ninguna apuesta
         }
      }
      
      
      function RealizarApuesta($matricula,&$valor,$conexion,$correcto){
         if(conexion){
            coche = new Vehiculo($matricula,$conexion,$correcto);
            if($correcto == '1'){
               coche->PrecioMinimo($valor_minimo);
               if($valor_minimo < $valor && $this->estado != "baja"){//Podemos hacer la apuesta
                  $consulta = "Insert into apuesta (dni,matricula,dinero_apuesta) Values ('".$this->dni."','".$matricula."','".$valor."');
                  $resultado = mysql_db_query("Rest_75154953S",$consulta,$conexion);
                  if(mysql_num_rows($resultado) >0){
                     print("Se ha realizado la apuesta"."<br>");
                     $correcto = '1';
                  }
                  else{
                     print("No se ha podido realizar la apuesta"."<br>");
                     $correcto = '2';
                  }
               }
            }
            else
               print("La matricula proporcionada no pertenece a ningun coche"."<br>");
            }   
         }   
      }
      
      function VehiculosApostables($conexion){
         veh = new Vehiculo();
         veh->ListarVehiculos();
         
      }
      
      function DarseBaja(){
         $this->estado = "baja";
      }
   }
?>


Pues bien cuando lanzo el formulario y llega a la línea 16 del documento validar_usuarios.php me da este error:
Parse error: syntax error, unexpected '=' in /home/www/validar_usuario.php on line 16


y la línea 16 es esta:
prop = new Propietario;


¿Cuál puede ser el error?
asi, a ojo, te has comido un $
Joder pues tendré bastantes fallos de estos por el todo el código porque la costumbre de c++... bueno lo he solucionado pero ahora me ha salido otro(bueno me han salido varios que ya he solucionado), que no se porque puede ser y este:
Parse error: syntax error, unexpected T_CLASS in /home/dai/www/propietario.php on line 3


Y es la definición de la clase donde da error, osea aquí:
   class Propietario{


He probado a ponerle $ a Propietario ,pero me sigue devolviendo el mismo tipo de error , ¿que falla?

Un saludo y gracias
Tienes bastantes errores más de sintaxis, por ejemplo, al declarar las variables miembro:

$private nombre;

deberia ser

private $nombre.

Repasate la sintaxis en el manual online, y revisa el codigo con calma.
Si ya se que tengo un follón de errores, me acabo de dar cuenta, es lo que pasa al escribir tu primera aplicación en php. ;Voy a ver si soluciono todos los problemas de sintaxis que vea y a ver si sigo con el mismo problema.


Un saludo y gracias
Te recomiendo usar esta metodologia al iniciar una variable privada / protegida, la cual es insertar un guion bajo, busca en internet sobre practicas de programacion en php ahora que estas aprendiendo.

private $_nombre ;
protected $_nombre ;
public $nombre ;

Saludos desde Málaga.
Bueno ya he avanzado bastante dentro de lo que cabe , y ya no tengo cometo casi fallos de sintaxis de php, pero ahora tengo un problema con el formato de fecha de mysql y el valor que recojo de un formulario. El valor que recojo de un formulario es directamente el formato de mysql con el tipo de dato DATE, osea que en el formulario recojo por ejemplo esto: 2010-01-20
Pero al realizar la consulta me devuelve un error de sintaxis de sql, así que no se como tengo que manipular este dato. He estado consultando la referncia de mysql a los tipos de datos de fecha, y por más que lo miro creo que lo hago bien, pero claro esta que no jjj. El error que se me devuelve es este:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' Values ('4321TFG','75154953S','alfa romeo','147','100000','10000','subasta','20' at line 1



Y la funcion donde hago el insert de esta consulta es esta:

      function AltaVehiculo($mat,$dni,$marc,$model,$anio,$km,$precio,$fin_subasta,$conexion){
         //Da de alta un Vehiculo en la base de datos
         $correcto = $this->ComprobarVehiculo($mat,$conexion);
         if($correcto == '0'){
            $estado = "subasta";
            print("El fin de la subasta es:".$fin_subasta."<br/>");
            
            //$fecha_format = $this->FechaMysql($fin_subasta);
            //print("La fecha formateada es:".$fecha_format."<br/>");
            
            $consulta = "Insert into Vehiculo (matricula,DNI,marca,modelo,anio,km,precio_sal,estado,fin_subasta), Values ('".$mat."','".$dni."','".$marc."','".$model."','".$km."','".$precio."','".$estado."','".$fin_subasta."')";
            $resultado = mysql_db_query("Rest_75154953S",$consulta,$conexion) or die (mysql_error());
            $n_dato = mysql_affected_rows($conexion);
            print("el numero de valores afecados es:".$n_dato."<br>");
            print("Se ha insertado el vehiculo"."<br>");
            $correcto = '1';
            return $correcto;
         }
         else{
            print("El vehiculo ya existe"."<br>");
            $correcto = '0';
            return $correcto;
         }   
      }


Bueno decir que utilizo el formato de fecha DATE de mysql.
Tambien he revisado los campos de la base de datos y decir que los inserto correctamente.

EDIT: Ya lo he solucionado , he quitado lo que hay anteriormente a values(los campos de la bbdd) , he añadido el campo anio que me faltaba
Un saludo y gracias
6 respuestas