Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Error al enviar datos de un html a una clase en php

Estas en el tema de Error al enviar datos de un html a una clase en php en el foro de Frameworks y PHP orientado a objetos en Foros del Web. HOla tengo el siguiente error: 1) tengo esta pagina de inicio q envia unos datos a una clase en php clsUsuario.php Código HTML: <!DOCTYPE HTML ...
  #1 (permalink)  
Antiguo 19/05/2010, 18:22
 
Fecha de Ingreso: abril-2010
Mensajes: 30
Antigüedad: 14 años, 7 meses
Puntos: 0
Error al enviar datos de un html a una clase en php

HOla tengo el siguiente error:
1) tengo esta pagina de inicio q envia unos datos a una clase en php clsUsuario.php


Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
  <form name="form1" method="post" action="clsUsuario.php">
    <h1>INICIO DE SESION</h1>
    <table width="250" border="1">
      <tr>
	<td width="87"><div align="right">Tipo:</div></td>
        <td width="147"><select name="SelUsuario">
                          <option selected="selected">Alumno</option>
                          <option>Profesor</option>
                          <option>Tutor</option>
                        </select>
        </td>
      </tr>
      <tr>
        <td><div align="right">Usuario:</div></td>
        <td><input type="text" name="Txtusuario"></td>
      </tr>
      <tr>
        <td><div align="right">Password:</div></td>
        <td><input type="text" name="Txtpassword"></td>
      </tr>
      <tr>
        <td><input name="Enviar" type="submit" id="Enviar" value="Enviar"></td>
        <td><input name="Cancelar" type="reset" id="Cancelar" value="Cancelar"></td>
      </tr>
    </table>
  </form>
  </body>
</html> 
esta es mi clase conexion
Código PHP:
class ConexionBD {
    public 
$servidor;
    public 
$usuario;
    public 
$pass;
    public 
$DB;
    public 
$dbCN;
    public 
$conn;
    public 
$db;
    public 
$rta;
    public 
$select_db;
    public 
$pagRed;
    public 
$query;
    public 
$result;
    function 
__construct(){
        
    }
    
    function 
Conecta($servidor,$usuario,$password,$DB)
    {
        
$this->servidor=$servidor;
        
$this->DB=$DB;
        
$this->usuario=$usuario;
        
$this->pass=$password;
        
$this->dbCN mysql_connect($this->servidor,$this->usuario,$this->pass);
        if(
$this->dbCN)
        {
            
$this->select_db=$this->selectBD($this->DB,$this->dbCN);
            
            if(
$this->select_db)
            {
                return 
$this->dbCN;
            }
        }
        else
        {
            return 
false;

        }

    }
    function 
selectBD($db,$conn)
    {   
        
$this->conn=$conn;
        
$this->select_db mysql_select_db($this->DB,$this->conn);
        if(
$this->select_db)
        {
         return  
$this->select_db;
        }
        else
        {
            return 
false;
        }

    }

    function 
cerrarBD($conn)
    {
        
/*implementada en al clase hija*/
    
}



y por ultimo mi clase clsUSuario:
Código PHP:
/**
 * Description of clsUsuario
 *
 * @author HENRY
 */
include_once 'clsConexion.php';
class 
clsUsuario extends clsConexion
{
 private 
$tipo;
 private 
$nombre;
 private 
$password;
 private 
$sql;
function 
__construct(){
    echo
"dentro del constructor <br />";
    
$this->tipo="";
    
$this->nombre="";
    
$this->password="";
}

function 
getTipo(){
  return 
$this->tipo;
}
function 
setTipo($tipo){
    
$this->tipo=$tipo;
}
function 
getNombre(){
    return 
$this->nombre;
}
function 
setNombre($nombre){
     
$this->nombre=$nombre;
}
function 
getPassword(){
   return 
$this->password;
}
function 
setPassword($password){
   
$this->password=$password;
}
function 
establece_usuario($tipo,$nombre,$password){
    
 
$this->tipo=$tipo;
 
$this->nombre=$nombre;
 
$this->password=$password;
 echo
"dentro de establece_usuario <br />";
 echo
"tipo:".$this->tipo "<br />";
 echo
"nombre:".$this->nombre ."<br />";
 echo
"password:".$this->password ."<br />";

switch (
$this->getTipo()) {
    case 
'Profesor':
        
$this->sql="select nombre,password from ".$this->getTipo();
        echo
"conectado";
        break;
    case 
'Alumno':
        
$this->sql="select nombre,password from".$this->getTipo();
        echo
"conectado";
        break;
    case 
'Tutor':
        
$this->sql="select nombre,password from".$this->getTipo();
        echo
"conectado";
        break;
    }

}
}
// creamos el usuario
$usuario = new clsUsuario();
if(
$_POST['Enviar']){
[
COLOR="DarkOrange"]    $usuario->setTipo($tipo) = $_POST['SelUsuario'];[/COLOR]   
    
$usuario->setNombre($nombre) = $_POST['Txtusuario'];
    
$usuario->setPassword($password) = $_POST['Txtpassword'];
    
$usuario->establece_usuario($usuario->getTipo(),$usuario->getNombre(),$usuario->getPassword());

el error q me da es el siguiente
Código:
Fatal error: Can't use method return value in write context in C:\xampp\htdocs\PhpProColegio\clsUsuario.php on line 71


EN MI BD TENGO ESTAS 3 TABLAS ALUMNO, PROFESOR, TUTOR Y EN ELLA UN ATRIBUTO ES NOMBRE Y PASSWORD Y comparo con eso
  #2 (permalink)  
Antiguo 19/05/2010, 19:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Error al enviar datos de un html a una clase en php

Tu problema precisamente es esa linea:
$usuario->setTipo($tipo) = $_POST['SelUsuario'];

Si quieres pasar el parámetro tienes que hacerlo así:
$usuario->setTipo($_POST['SelUsuario']);

Saludos.

Etiquetas: wtf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:44.