Hola, no se que es lo que ocurre que mi codigo no registra lo pedido, me pueden ayudar?
<?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
Pues como siempre lo he dicho, mira paso por paso enviado un mensaje de estado. Verifica si la query es correcta, para eso imprimela.
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.
La conexion a la BD esta bien, uso esto:
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.
<?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
<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 :)
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:
$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;
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:
$query = mysql_query($insert);
if($query){
echo 'EL usuario $this->name se registro correctamente.';
}else{
echo 'Error: '.mysql_error(); mysql_free_result($query);
}
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;
Ya lo tenia asi antes, pero no funciono tampoco, lo pongo actualizado:
<?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
}
}
?>
Error solucionado.
Faltaba crear el objeto y enviar los parametros a la funcion del objeto.
Cita de: s00rk en 19 Noviembre 2011, 08:10 AM
Error solucionado.
Faltaba crear el objeto y enviar los parametros a la funcion del objeto.
Yeahhh :) gracias bro :)