elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Error en Registro por Clases (POO)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error en Registro por Clases (POO)  (Leído 2,693 veces)
mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Error en Registro por Clases (POO)
« en: 19 Noviembre 2011, 00:07 am »

Hola, no se que es lo que ocurre que mi codigo no registra lo pedido, me pueden ayudar?

Código:
<?php
// Class Register
class RegistrerQuote {
var $name;
var $age;
var $last_name;
var $company;
var $phone;
var $maiil;
var $project_type;
var $project_due;
var $fiile;


public function Registrer(){
$nombre = htmlspecialchars(strip_tags($_POST['storename']));
$apellido = htmlspecialchars(strip_tags($_POST['storelastname']));
$edad = htmlspecialchars(strip_tags($_POST['storeage']));
$compania = htmlspecialchars(strip_tags($_POST['storecompany']));
$telefono = htmlspecialchars(strip_tags($_POST['storephone']));
$email = htmlspecialchars(strip_tags($_POST['storemail']));
$tipo = htmlspecialchars(strip_tags($_POST['storeinfo']));
$entrega = htmlspecialchars(strip_tags($_POST['storedataneeded']));
$archivo = 'a'; //$_FILES['storefile']['name'];

$this->name = $nombre;
$this->last_name = $apellido;
$this->age = $edad;
$this->company = $compania;
$this->phone = $telefono;
$this->maiil = $email;
$this->project_type = $tipo;
$this->project_due = $entrega;
$this->fiile = $archivo;

connectBaby();

/* Compruebo que la url del archivo no exista en la tabla lb_quotes */
$check = printf("SELECT qt_file_url FROM lb_quotes WHERE qt_file_url = '%s'",$this->maiil);
$query = mysql_query($check)or die(mysql_error());

// Error
if(mysql_num_rows($query)){
echo 'Cambie el nombre del archivo, le sugerimos agregue la fecha.<br />';
mysql_free_result($query) or die(mysql_error());
exit;
}else{
$insert = printf("INSERT INTO lb_quotes
(qt_name,qt_last_name,qt_age,qt_company,qt_phone,qt_mail,qt_type,qt_project_due,qt_file_url) VALUES
('%s','%s','%s','%s','%s','%s','%s','%s','%s')",
$this->name,
$this->last_name,
$this->age,
$this->company,
$this->phone,
$this->maiil,
$this->project_type,
$this->project_due,
$this->fiile);

$query = mysql_query($insert) or die(mysql_error());
if(mysql_affected_rows()){
echo 'EL usuario $this->name se registro correctamente.';
}else{ echo 'error'; mysql_free_result($query); }
exit;
}
// Error

}
}
?>

El error esta entre los comentarios  //Error pero no entinedo cual es, muchas gracias de antemano.
Saluods


« Última modificación: 19 Noviembre 2011, 01:21 am por mokoMonster » En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Error en Registro por Clases (POO)
« Respuesta #1 en: 19 Noviembre 2011, 04:30 am »

Pues como siempre lo he dicho, mira paso por paso enviado un mensaje de estado. Verifica si la query es correcta, para eso imprimela.
Código
  1. print "<b>Query:</b>".$insert;
Después verifica esa misma query dentro del motor de base de datos.

Verifica todo, desde la conexión hasta la ejecución de la query.


En línea

Te vendería mi talento por poder dormir tranquilo.
mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Re: Error en Registro por Clases (POO)
« Respuesta #2 en: 19 Noviembre 2011, 04:50 am »

La conexion a la BD esta bien, uso esto:
Código:
class config{
        function connectBaby(){
             $server='localhost';
             $database='lb';
             $db_user='root';
             $db_pass='';
             mysql_connect($server,$db_user,$db_pass) or die('Error conectando');
             mysql_select_db($database) or die('Error seleccionando');
        }
    }

Y mira, quise imprimir las query pero no imprime nada.
Código:
<?php
// Class Register
class RegistrerQuote {
var $name;
var $age;
var $last_name;
var $company;
var $phone;
var $maiil;
var $project_type;
var $project_due;
var $fiile;


public function Registrer(){
$nombre = htmlspecialchars(strip_tags($_POST['storename']));
$apellido = htmlspecialchars(strip_tags($_POST['storelastname']));
$edad = htmlspecialchars(strip_tags($_POST['storeage']));
$compania = htmlspecialchars(strip_tags($_POST['storecompany']));
$telefono = htmlspecialchars(strip_tags($_POST['storephone']));
$email = htmlspecialchars(strip_tags($_POST['storemail']));
$tipo = htmlspecialchars(strip_tags($_POST['storeinfo']));
$entrega = htmlspecialchars(strip_tags($_POST['storedataneeded']));
$archivo = 'a'; //$_FILES['storefile']['name'];

$this->name = $nombre;
$this->last_name = $apellido;
$this->age = $edad;
$this->company = $compania;
$this->phone = $telefono;
$this->maiil = $email;
$this->project_type = $tipo;
$this->project_due = $entrega;
$this->fiile = $archivo;

connectBaby();

/* Compruebo que la url del archivo no exista en la tabla lb_quotes */
$check = printf("SELECT qt_file_url FROM lb_quotes WHERE qt_file_url = '%s'",$this->maiil);
$query = mysql_query($check)or die(mysql_error());
print 'QUery: '.$query;
// Error
if(mysql_num_rows($query)){
echo 'Cambie el nombre del archivo, le sugerimos agregue la fecha.<br />';
mysql_free_result($query) or die(mysql_error());
exit;
}else{
$insert = printf("INSERT INTO lb_quotes
(qt_name,qt_last_name,qt_age,qt_company,qt_phone,qt_mail,qt_type,qt_project_due,qt_file_url) VALUES
('%s','%s','%s','%s','%s','%s','%s','%s','%s')",
$this->name,
$this->last_name,
$this->age,
$this->company,
$this->phone,
$this->maiil,
$this->project_type,
$this->project_due,
$this->fiile);

$query = mysql_query($insert) or die(mysql_error());
print 'QUery: '.$query;
if(mysql_affected_rows()){
// Hospital de cardiologia
echo 'EL usuario $this->name se registro correctamente.';
}else{ echo 'error'; mysql_free_result($query); }
exit;
}
// Error

}
}
?>

Este es el codigo del formulario
Código:
<form action="" method="POST" enctype="multipart/form-data"   onSubmit = "return validar(this)" >
<table border="0" style="vertical-align:auto;">
<tr><td>Nombre:</td><td> <input type="text" name="storename" maxlength="75" /></td></tr>
<tr><td>Empresa/ Organización:</td><td> <input type="text" name="storecompany" maxlength="100" /></td></tr>
<tr><td>E-mail:</td><td> <input type="text" name="storemail" maxlength="100" /></td></tr>
<tr><td>Teléfono:</td><td> <input type="text" name="storephone" maxlength="75" /></td></tr>
<tr><td>Tipo de proyect/ Mensaje:</td><td><textarea name="storeinfo"></textarea></td></tr>
<tr><td>Fecha de entrega:</td><td> <input type="text" name="storedateneeded" maxlength="75" /></td></tr>
<tr><td>Enviar mi documento:</td><td> <input type="file" name="storefile"  /></td></tr>
<tr><td colspan="2"><input type="submit" value="Send" /></td></tr>
</table>
</form>

Como ves? Gracias por tu ayuda :)
En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
s00rk

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: Error en Registro por Clases (POO)
« Respuesta #3 en: 19 Noviembre 2011, 04:56 am »

El error que alcanso a ver asi es solamente el de printf, que deberia ser mas bien sprintf.

printf - Imprime un string con formato
sprintf - Devuelve un string con formato que en este caso es lo que ocupamos

intenta cambiando los printf a sprintf y ahi me cuentas n_n

Otra cosa es que al poner algo asi:
Código
  1. $query = mysql_query($insert) or die(mysql_error());
  2. echo 'EL usuario $this->name se registro correctamente.';
  3. }else{ echo 'error'; mysql_free_result($query); }
Esto si la query no se ejecuto el if y demas ya no saldra porque el die anterior habra detenido el codigo por lo que yo recomendaria hacer algo asi:
Código
  1. $query = mysql_query($insert);
  2. if($query){
  3. echo 'EL usuario $this->name se registro correctamente.';
  4. }else{
  5.                                echo 'Error: '.mysql_error(); mysql_free_result($query);
  6.                        }
  7.  
  8.  

P.D. Revise como deceabas imprimir la query y ahi efectivamente imprimes la query, pero lo que el amigo quiso decir era el codigo de la consulta que devio haber sido el $check, quedando asi:
echo "Query: ".$check;
« Última modificación: 19 Noviembre 2011, 05:03 am por s00rk » En línea

mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Re: Error en Registro por Clases (POO)
« Respuesta #4 en: 19 Noviembre 2011, 05:08 am »

Ya lo tenia asi antes, pero no funciono tampoco, lo pongo actualizado:

Código:
<?php
// Class Register
class RegistrerQuote {
var $name;
var $age;
var $last_name;
var $company;
var $phone;
var $maiil;
var $project_type;
var $project_due;
var $fiile;


public function Registrer(){
$nombre = htmlspecialchars(strip_tags($_POST['storename']));
$apellido = htmlspecialchars(strip_tags($_POST['storelastname']));
$edad = htmlspecialchars(strip_tags($_POST['storeage']));
$compania = htmlspecialchars(strip_tags($_POST['storecompany']));
$telefono = htmlspecialchars(strip_tags($_POST['storephone']));
$email = htmlspecialchars(strip_tags($_POST['storemail']));
$tipo = htmlspecialchars(strip_tags($_POST['storeinfo']));
$entrega = htmlspecialchars(strip_tags($_POST['storedataneeded']));
$archivo = 'a'; //$_FILES['storefile']['name'];

$this->name = $nombre;
$this->last_name = $apellido;
$this->age = $edad;
$this->company = $compania;
$this->phone = $telefono;
$this->maiil = $email;
$this->project_type = $tipo;
$this->project_due = $entrega;
$this->fiile = $archivo;

connectBaby();

/* Compruebo que la url del archivo no exista en la tabla lb_quotes */
$check = sprintf("SELECT qt_file_url FROM lb_quotes WHERE qt_file_url = '%s'",$this->maiil);
$query = mysql_query($check)or die(mysql_error());
print 'QUery: '.$check;
// Error
if(mysql_num_rows($query)){
echo 'Cambie el nombre del archivo, le sugerimos agregue la fecha.<br />';
mysql_free_result($query) or die(mysql_error());
exit;
}else{
$insert = sprintf("INSERT INTO lb_quotes
(qt_name,qt_last_name,qt_age,qt_company,qt_phone,qt_mail,qt_type,qt_project_due,qt_file_url) VALUES
('%s','%s','%s','%s','%s','%s','%s','%s','%s')",
$this->name,
$this->last_name,
$this->age,
$this->company,
$this->phone,
$this->maiil,
$this->project_type,
$this->project_due,
$this->fiile);

$query = mysql_query($insert) or die(mysql_error());
print 'QUery: '.$check;
if(mysql_affected_rows()){
// Hospital de cardiologia
echo 'EL usuario $this->name se registro correctamente.';
}else{ echo 'error'; mysql_free_result($query); }
exit;
}
// Error

}
}
?>

En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
s00rk

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: Error en Registro por Clases (POO)
« Respuesta #5 en: 19 Noviembre 2011, 08:10 am »

Error solucionado.

Faltaba crear el objeto y enviar los parametros a la funcion del objeto.
En línea

mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Re: Error en Registro por Clases (POO)
« Respuesta #6 en: 20 Noviembre 2011, 04:37 am »

Error solucionado.

Faltaba crear el objeto y enviar los parametros a la funcion del objeto.

Yeahhh :) gracias bro :)
En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error registro usuarios PHP
PHP
Noxors 5 2,213 Último mensaje 23 Abril 2008, 11:17 am
por Hans el Topo
Error al actualizar un registro
Programación Visual Basic
TeKNo dUKe 1 1,827 Último mensaje 21 Junio 2008, 18:21 pm
por TeKNo dUKe
error cuando practico con clases (solucionado)
Programación C/C++
flony 4 3,869 Último mensaje 18 Junio 2012, 22:24 pm
por flony
Error referencias con las clases
Programación C/C++
niñopixel 0 1,440 Último mensaje 28 Septiembre 2016, 16:45 pm
por niñopixel
Error registro ip de visitas en un servidor
Desarrollo Web
acostep 6 5,675 Último mensaje 18 Agosto 2022, 20:19 pm
por acostep
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines