Foros del Web » Programando para Internet » PHP »

necesito ayuda con un script

Estas en el tema de necesito ayuda con un script en el foro de PHP en Foros del Web. Hola mundo!!! Soy un novato y necesito algo de ayuda con un script para insertar datos de un formulario en la bbdd. El problema es ...
  #1 (permalink)  
Antiguo 26/09/2009, 11:21
 
Fecha de Ingreso: septiembre-2009
Mensajes: 6
Antigüedad: 14 años, 7 meses
Puntos: 0
necesito ayuda con un script

Hola mundo!!!
Soy un novato y necesito algo de ayuda con un script para insertar datos de un formulario en la bbdd.
El problema es que cuando ejecuto la consulta o no la graba o se desconecta o no tengo ni idea de que es lo pasa!!!
He buscado en tutoriales y aquí en el foro además de manuales, pero no doy con la tecla.
Aquí os dejo el código....
Código PHP:
<?php

 
// recogemos los datos del usuario

  
$nombre $_POST['nombre'];
  
$apellido $_POST['apellidos'];
  
$telf $_POST['telf'];
  
$mail $_POST['mail'];
  
$direccion $_POST['direccion'];
  
$c_postal $_POST['codigo_postal'];
  
$ciudad $_POST['ciudad'];
  
$coment $_POST['comentario'];

//comprobamos si el registro esta relleno

if((isset($nombre) && !empty($nombre))
    && (isset(
$apellido)&& !empty($apellido))
    && (isset(
$telf)&& !empty($telf)) 
    && (isset(
$mail)&& !empty($mail))
    && (isset(
$direccion)&& !empty($direccion))
    && (isset(
$c_postal)&& !empty($c_postal))
    && (isset(
$ciudad)&& !empty($ciudad))){
//creamos  las variables que contienen la inf para conectarnos
$server "localhost";
$usuario "xxxx";
$password "xxxxxx";
//conectamos con la BD
 
$db mysql_connect($server$usuario$password) or die("quetefollen");
 
//comprobar que la conexion es correcta
 
if(!$db){
     echo
"se ha producido un error en la conexion con el servidor";
     echo
"<br>";
     echo
"vuelva a intentarlo más tarde";
     exit;}else{
         echo 
"conectado";}
     
         
mysql_select_db("ucco-registro",$db) or die("escupe la leche");
         
//creamos la tabla si no existe 
        
$consulta "CREATE DATABASE IF NOT EXISTS registro_clientes;";
        
$consulta.  "(id_cliente INT NOT NULL ,";
        
$consulta.    " nombre VARHAR(12) NOT NULL ,";
        
$consulta"apellidos VARCHAR(28) NOT NULL,";
        
$consulta"telf INT(9) NOT NULL,";
        
$consulta"cliente_mail VARCHAR(32) NOT NULL,";
        
$consulta"direccion VARCHAR(50) NOT NULL,";
        
$consulta"c_postal VARCHAR(5) NOT NULL,";
        
$consulta"ciudad VARCHAR(22) NOT NULL,";
        
$consulta"coment TINYTEXT  NOT NULL,)";
        
$consulta"TYPE MyISAM;";
         
$consultar mysql_query($consulta) or die("error fatal");
    
$consulta "INSERT INTO registro-clientes(nombre, apellidos, telf, cliente_mail, direccion, c_postal, ciudad,coment) 
    VALUES('"
.$nombre."','".$apellido."','".$telf."','".$mail."','".$direccion."','".$c_postal."','".$ciudad."','".$coment."')" ;
    [
SIZE="3"]$result mysql_query($consulta$db) or die("error_error_error");[/SIZE]
    
if(
$result){
        echo 
mysql_affected_rows();
        echo 
"se ha registrado correctamente";}
            
//impresion de los resultados en HTML
                
echo "<table>\n";
                while(
$dato mysql_fecht_array($resultMYSQL_ASSOC)){
                    echo 
"\t<tr>\n";
                    foreach(
$dato as $valor_col)
                        echo 
"\t\t<td>$valor_col</td>\n";
                        
                            echo 
"\t</tr>\n";
                        
                        echo 
"</table>\n";}
        
  
//cerramos la conexion con MySQL
  
mysql_close($db);
  }
  else{
      echo 
"Por favor rellene todos los campos correctamente";}
  
?>
  #2 (permalink)  
Antiguo 26/09/2009, 12:39
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: necesito ayuda con un script

Podrías especificar cuál de todos los errores te lanza? Ya que vi que le pusiste un die ( error ) a todas las consultas, lo cual es excelente. Pero sabiendo cuál de todos los errores te lanza, podríamos concentrarnos una parte del código e ir paso a paso.

Pero viendo tu código, SUPONGO, supongo en mayúsculas para que no lo entiendas como la solución definitiva, sería esto.

Código PHP:
        $consulta "CREATE DATABASE IF NOT EXISTS registro_clientes;";
        
$consulta.  "(id_cliente INT NOT NULL ,";
    
// resto del código 
Si te fijas, luego de IF NOT EXISTS registro_clientes pusiste un punto y coma antes de la comilla doble, eso debe ser lo que causa problema.

Y acá te sobra una coma

Código PHP:

$consulta
"coment TINYTEXT  NOT NULL,)"
fíjate que luego del NOT NULL pusiste una coma antes de cerrar el paréntesis.

Por último, he editado 3 veces el post porque me fijo de las cosas cada vez que lo envio

La síntaxis no está bien, puedes hacerlo de estas 2 maneras

Código PHP:
        $consulta "CREATE DATABASE IF NOT EXISTS registro_clientes"
        
$consulta .=  "(id_cliente INT NOT NULL ,"
        
$consulta .=    " nombre VARHAR(12) NOT NULL ,"
        
$consulta .= "apellidos VARCHAR(28) NOT NULL,"
        
$consulta .= "telf INT(9) NOT NULL,"
// resto del codigo 
o de esta otra manera

Código PHP:
        $consulta "CREATE DATABASE IF NOT EXISTS registro_clientes" 
        
"(id_cliente INT NOT NULL," 
        
"nombre VARHAR(12) NOT NULL ," 
        
"apellidos VARCHAR(28) NOT NULL," 
        
"telf INT(9) NOT NULL,"
     
// resto del codigo... 
Fíjate que en el primer caso, cerramos la linea con punto y coma, por lo que en la siguiente línea debemos escribir nuevamente la variable y ponerle un punto y signo igual para seguir formando la consulta.

En el 2do caso, no terminamos las lineas con punto y coma, y en las siguientes lineas solo agregamos un punto, para así formar una gran cadena.

Nos cuentas si funciono.

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.

Última edición por spider_boy; 26/09/2009 a las 12:44
  #3 (permalink)  
Antiguo 27/09/2009, 04:11
 
Fecha de Ingreso: septiembre-2009
Mensajes: 6
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: necesito ayuda con un script

Hola spider_boy:
Gracis por la respuesta tan rápida.
Ya lo he probado pero sigue dandome el mismo error. Cuando hago la consulta para insertar los datos en la tabla siempre me salta el die. (no se como decirlo) se me cae la conexión.
Código PHP:
$result mysql_query($consulta$db) or die("error_error_error"

En realidad ese fue el primer error. Después de efectuar las correcciones que me has dicho, ahora me da error al hacer la consulta que crea la tabla:
Código PHP:
$consultar mysql_query($consulta $db) or die("error fatal"); 

Que es la consulta anterior.
La cosa es que al principio me conecta con la bbdd, por lo menos eso dice. y le tengo dados todos los pribilegios...así que no se me ocurre que es lo que puede estar fallando.
Tengo instalado el appserv5.9...si puede servir de orientación.

Última edición por tresfx; 27/09/2009 a las 12:17 Razón: mayor legibilidad
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 17:11.