Foros del Web » Programando para Internet » PHP »

Creo que es un pequeño Problema

Estas en el tema de Creo que es un pequeño Problema en el foro de PHP en Foros del Web. Estoy tratando de insertar datos en una tabla. No se si esto sea necesario, pero tengo instalado windows 2000 profesional apache_1.3.27-win32-x86-no_src mysql-4.0.2-alpha-win MySQL-Front_2.5_Setup php-4.3.2-Win32 Aqui ...
  #1 (permalink)  
Antiguo 28/09/2003, 17:13
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Creo que es un pequeño Problema

Estoy tratando de insertar datos en una tabla.
No se si esto sea necesario, pero tengo instalado
windows 2000 profesional
apache_1.3.27-win32-x86-no_src
mysql-4.0.2-alpha-win
MySQL-Front_2.5_Setup
php-4.3.2-Win32

Aqui los archivos php

conex.php
Código PHP:

<?php 
function Conectarse() 

   if (!(
$link=mysql_connect("localhost","blackness","123456"))) 
   { 
      echo 
"Error conectando a la base de datos."
      exit(); 
   } 
   if (!
mysql_select_db("listado",$link)) 
   { 
      echo 
"Error seleccionando la base de datos."
      exit(); 
   } 
   return 
$link

?>

inserta.php

Código PHP:
<html> 
<head> 
   <title>Insercion</title> 
</head> 
<body> 
<H1>Insertar Info de MP3</H1> 
<form  method="get" action="procesar.php">
  <TABLE> 
<TR> 
      <TD>&nbsp;</TD>   <TD>&nbsp;</TD> 
</TR> 
<TR> 
   <TD>Nombre Grupo:</TD> 
   <TD><INPUT TYPE="text" NAME="Nombre_grupo" SIZE="20" MAXLENGTH="30"></TD> 
</TR> 
<TR> 
   <TD>Nombre Album:</TD> 
   <TD><INPUT TYPE="text" NAME="Nombre_album" SIZE="20" MAXLENGTH="30"></TD> 
</TR> 
<TR> 
   <TD>Número CD:</TD> 
   <TD><INPUT TYPE="text" NAME="Numero_cd" SIZE="20" MAXLENGTH="30"></TD> 
</TR> 
</TABLE> 
<INPUT TYPE="submit" NAME="accion" VALUE="Grabar">
  <input type="reset" name="Reset" value="Reset">
</form> 
<hr> 
<?php 

include("conex.php"); 
   
$link=Conectarse(); 
   
$result=mysql_query("select * from mp3 order by Numero_cd",$link); 
?> 
   
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
  <TR align="center" valign="top"> 
    <TD> 
<div align="center"><b>Id CD</b></div></TD>
    <TD> 
      <div align="center"><b>Nombre Grupo</b></div></TD>
    <TD> 
      <div align="center"><b>Nombre Album</b></div></TD>
    <TD> 
      <div align="center"><b>Numero CD</b>&nbsp;</div></TD>
  </TR>
  <?php       

 
while($row mysql_fetch_array($result)) 
    { 
?>
  <TR align="center" valign="top"> 
    <TD><? echo $row["Id_cd"?> 
<div align="center"></div></TD>
    <TD><? echo $row["Nombre_grupo"?> 
      <div align="center"></div></TD>
    <TD><? echo $row["Nombre_album"?> 
      <div align="center"></div></TD>
    <TD><? echo $row["Numero_cd"?> 
      <div align="center"></div></TD>
  </TR>
  <? 
    

   
mysql_free_result($result); 
   
//mysql_close($link);    
?>
</table> 
</body> 
</html>
y el archivo en donde estoy haciendo el insert

procesar.php

Código PHP:
<html>
<head>
<title>Insertar</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<? 
   
include("conex.php"); 
   
$link=Conectarse(); 
   
$nombre_grupo $_GET['Nombre_grupo'];
   
$nombre_album $_GET['Nombre_album'];
   
$numero_cd    $_GET['Numero_cd'];
   echo 
"aca..."; echo $nombre_grupo; echo "<br>";
   echo 
$nombre_album; echo "<br>";
   echo 
$numero_cd
 
mysql_query
("INSERT INTO mp3(Nombre_grupo, Nombre_album, Numero_cd) values ('$nombre_grupo','$nombre_album','$numero_cd')",$link); 
   
header("Location: inserta.php");
?> 
</body>
</html>
Al momento de ejecutar inserta.php me muestra el formulario de insercion y en forma correcta los datos de la tabla, pero al momento de ejecutar procesar.php con los datos enviados del formulario, no me aparece nada, solamente una pagina en blanco.
Ni siquiera aparece los echo que puse, ni siquiera el titulo de la pagina.
No se me ocurre que puedo estar haciendo mal, por que de mi punto de vista deberia funcionar.
Aca esta la url en donde estan alojados los archivos
http://mp3bks.no-ip.com/prueba/inserta.php

Ojala tengan alguna respuesta.


Salu2
  #2 (permalink)  
Antiguo 28/09/2003, 17:32
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
por lo que he podido leer,

ademas, te falta un ; en la ultima linea

Código PHP:
echo $numero_cd 

echo $numero_cd

el formulario hazlo POST, no uses el GET

Código PHP:
<form  method="POST" action="procesar.php" 
y en el procesar cambia a POST las super-globales ;)

Código PHP:
   $nombre_grupo $_POST['Nombre_grupo'];
   
$nombre_album $_POST['Nombre_album'];
   
$numero_cd    $_POST['Numero_cd']; 
__________________
3w.valenciadjs.com
3w.laislatv.com
  #3 (permalink)  
Antiguo 28/09/2003, 19:57
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Gracias.........ahora me llegan los datos..........pero no me inserta los datos.........no se que sera.
Ojala haya una respuesta.
Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #4 (permalink)  
Antiguo 28/09/2003, 20:40
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Aca esta la estructura de la Tabla



Ojala haya una respuesta.

Salu2
  #5 (permalink)  
Antiguo 28/09/2003, 20:42
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Ahora si

Aca esta la estructura de la Tabla




Ojala me ayuden

Salu2
  #6 (permalink)  
Antiguo 28/09/2003, 20:59
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
usa minusculas en todo, MINUSCULAS
__________________
3w.valenciadjs.com
3w.laislatv.com
  #7 (permalink)  
Antiguo 28/09/2003, 21:05
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
no hay caso..........no inserta los datos........no logro entender cual puede ser el error..
:(
Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #8 (permalink)  
Antiguo 28/09/2003, 22:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Aunque .. no debería pasar .. yo uso el ID aunque sea autonumérico como parte de la sentencia SQL:

Código PHP:
mysql_query("INSERT INTO mp3(Id_cd, Nombre_grupo, Nombre_album, Numero_cd) values ('','$nombre_grupo','$nombre_album','$numero_cd')",$link); 
(si usas minuscas .. usalas .. el caso es que sea textual el nombre de los campos que uses ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 28/09/2003, 23:18
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
he probado todo lo que me han dicho ........ y no funciona nada.... simplemente no me inserta los datos.
¿tendra que ver algo las versiones de php, mysql, MySQL front en todo este problema?

Salu2
  #10 (permalink)  
Antiguo 29/09/2003, 00:40
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
y con la conexion, yo creo que la funcion de conexion a la base de datos no es correcta..., mira como conecto yo con mi base de datos


Código PHP:

<?php
/*CARGAMOS CONFIGURACION DEL SERVIDOR*/
$sql_host "localhost";  // Host, nombre del servidor o IP del servidor Mysql.
$sql_usuario "xxx";    // Usuario de Mysql
$sql_pass "xxx";          // contraseña de Mysql

/*CARGAMOS LA BASE DE DATOS*/
$sql_db "xxxxxx";   // Base de datos que se usará

/*CARGAMOS LAS TABLAS DE LA BASE DE DATOS*/
$sql_tabla "script_s_p_usuarios";    // Nombre de la tabla que contendrá los datos de los usuarios

/*CONECTAMOS CON MYSQL*/
$db_connect mysql_connect($sql_host,$sql_usuario,$sql_pass);
mysql_select_db($sql_db);

/*CARGAMOS TODOS LOS REGISTROS DE LAS BASES DE DATOS*/
$selecttbl "id,webname,nick,password";//Campos de Registro Administradores BD


mysql_query("UPDATE $sql_tabla SET webname='$nombrenuevo',password='$passwordnuevo' WHERE id='$id'") or die(mysql_error());
?>

venga amigo, lo tienes que tener ya funcionando....
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 29/09/2003 a las 00:42
  #11 (permalink)  
Antiguo 29/09/2003, 09:49
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Código PHP:
/* esta es una tabla de mysql o es la tabla que quiero buscar informacion */
/*CARGAMOS LAS TABLAS DE LA BASE DE DATOS*/
$sql_tabla "script_s_p_usuarios";    // Nombre de la tabla que contendrá los datos de los usuarios


/* y aca que significa */
/*CARGAMOS TODOS LOS REGISTROS DE LAS BASES DE DATOS*/
$selecttbl "id,webname,nick,password";//Campos de Registro Administradores BD 

Igual encuentro extraño que no funcione, por que al momento de consultar la tabla me muestra el contenido en forma correcta, y he probado con distintas formas de conectar la base de datos.

No soy muy experto en PHP, pero en un servidor linux en donde trabajo con otra base de datos, he hecho los mismos archivos, que hacen lo mismo y no me presentan ningun problema.

¿Habra que cambiar algo en php.ini o dentro de c:\mysql?

Ayuda por favor

Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #12 (permalink)  
Antiguo 29/09/2003, 11:48
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
hijo, mio.... no se ya ande esta tu problema....
__________________
3w.valenciadjs.com
3w.laislatv.com
  #13 (permalink)  
Antiguo 29/09/2003, 12:05
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
[PHP

$sql_tabla = "script_s_p_usuarios";

$selecttbl = "id,webname,nick,password";

[/PHP]

Estos datos los entrega MySql o son los que corresonden a la tabla que deseo insertar??
__________________
AK.T.I.V.E.tm Live, Never DIE
  #14 (permalink)  
Antiguo 29/09/2003, 12:19
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
1º eso es el nombre de la tabla
2º hay van los campos todos, de tiu tabla, separados por ,,,

asi luego solo llamas a esa var y tienes toda la lista y a la hora
de modificar tu script te sera mas facil si lo haces asi
__________________
3w.valenciadjs.com
3w.laislatv.com
  #15 (permalink)  
Antiguo 29/09/2003, 13:20
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Prueba si es un error de MySQL:
Código PHP:
mysql_query("INSERT INTO mp3(Nombre_grupo, Nombre_album, Numero_cd) values ('$nombre_grupo','$nombre_album','$numero_cd')",$link) or die("MySQL dice: ".mysql_error()); 
Eso te mostrara el mensaje de error si lo hubo al realizar la consulta.

Luego tambien hay que recordar que ninguno de los valores que insertes pueden tenerr ', ya que provocaria un error de sintaxis de MySQL. Si tus datos pueden tener ese caracter, mira addslashes() (www.php.net/addslashes).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #16 (permalink)  
Antiguo 29/09/2003, 13:32
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
no me arroja ningun error de MySQL.
Logre insertar dos nuevos registros pero nada mas.
Me fije que hacia 8 dias que no reiniciaba mi sistema, asi que lo hice y luego volvi a intentar insertar y no hace nada, me muestra los datos que envio en el formulario pero no los inserta.
Sinceramente ya no se que hacer.

help please ¡¡¡¡¡¡¡¡¡¡¡¡¡

salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #17 (permalink)  
Antiguo 29/09/2003, 14:01
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
¿Con cualquier dato? Es decir, si intentas meter una 'a' en cada campo ¿te lo mete?.

¿Has intentado meter los mismos datos por el MysqlFront (es el que usas ¿verdad?)? Es que no vaya a ser que los datos que intentas meter no se puedan meter (aunque en ese caso deberia dar un error de MySQL).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #18 (permalink)  
Antiguo 29/09/2003, 14:09
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
yo esq soy muy raro para los errores, y no me gusta perder tiempo en ellos, asi que como esto es un error de los que yo llamo "hardcore" , esos que solo hacen mas que marearte y confundirte... y luego resulta que era una , o un ' ...

pues seamos asi...


pq no haces con el ejemplo que te puse de conexion y demas...

en una nueba BD y una nueva tabla con solo 3 Campos

el ejemplo mas sencillo del mundo, ... y me dices si funciona tu
SQL o sufre algun tipo de cuelge parami aun desconocido ???

a ver si te deja:::?¿
__________________
3w.valenciadjs.com
3w.laislatv.com
  #19 (permalink)  
Antiguo 29/09/2003, 14:20
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Verdaderamente muy raro esto.
Ahora estoy insertando datos sin problema, y volvi a la forma de conexion mas normal
Código PHP:
include("conex.php"); 
Espero que me funcione correctamente, hasta el momento he logrado insertar varios registros sin problemas.
Ahora, tengo puesto
Código PHP:
header("Location : inserta.php");
/* para que me direccione nuevamente al formulario de ingreso*/ 
¿Como logro darle una pausa y que me muestre los datos antes de insertarlos, obviamente sin tener que presionar ningun boton?

Salu2


PD: Probe con un ejemplo que pusieron anteriormente, con sleep, pero tal vez no se en donde poner el sleep.

PD2: Gracias a todos los que me han ayudado, solo espero que esto siga funcionando bien.
__________________
AK.T.I.V.E.tm Live, Never DIE
  #20 (permalink)  
Antiguo 29/09/2003, 14:25
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
usa un meta es mejor y como ultimo recurso un java-script

prueba con meta que es mu sencillo y practico

Código PHP:
$timerecarga "3";//3 segundos de recarga
<META HTTP-EQUIV="Refresh" CONTENT="$timerecarga;URL=home.php"
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 03/10/2003 a las 22:48
  #21 (permalink)  
Antiguo 29/09/2003, 14:41
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Al poner el meta no me inserta, ni tampoco recarga el inserta.php

Raro????
__________________
AK.T.I.V.E.tm Live, Never DIE
  #22 (permalink)  
Antiguo 03/10/2003, 22:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No sé si habrá sido un error "tipográfico" al poner esta línea de código:

Código PHP:
header("Location: inserta.php"); 
pero, .. observese que el : va pegado al Location y hay un espacio entre el location: y la página que has de redireccionar ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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:31.