Foros del Web » Programando para Internet » PHP »

PHP OO Genera tabla vacia

Estas en el tema de Genera tabla vacia en el foro de PHP en Foros del Web. Saludos tengo un problea, cuando ingresos los datos en la pagina megenera una tabla con los datos y otra vacia este es mi codigo; <?php ...
  #1 (permalink)  
Antiguo 15/02/2014, 17:19
 
Fecha de Ingreso: octubre-2013
Mensajes: 16
Antigüedad: 11 años, 1 mes
Puntos: 0
Genera tabla vacia

Saludos tengo un problea, cuando ingresos los datos en la pagina megenera una tabla con los datos y otra vacia este es mi codigo;

<?php
require('php_lib/include-pagina-restringida.php'); //el incude para vericar que estoy logeado. Si falla salta a la página de login.php
include('php_lib/config.ini.php'); //incluimos configuración
include('php_lib/desconectar.php');

$numero_disco =$_POST['numero_disco'];
$nombre_serie = $_POST['nombre_serie'];
$genero = $_POST['genero'];
$descripcion = $_POST['descripcion'];

$link = mysql_connect(SERVIDOR_MYSQL, USUARIO_MYSQL, PASSWORD_MYSQL);
mysql_select_db(BASE_DATOS, $link);
$sql = "INSERT INTO series(numero_disco, nombre, genero, descripcion) VALUES ('$numero_disco', '$nombre_serie', '$genero', '$descripcion')";
mysql_query($sql);
include "desconectar.php";

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Registra Serie</title>
</head>
<body>

<p>
Registra una serie
</p>
<form name="datos_series" type="Submit" action="datos_series.php" method="post">
Numero de Disco :<input type="Text" id="numero_disco" name="numero_disco"><br>
Nombre de la serie:<input type="Text" id="nombre_serie" name="nombre_serie"><br>
Genero: <input type="Text" id="genero" name="genero"><br>
Descripcion: <input type="Text" id="descripcion" name="descripcion"><br>
<input type="Submit" id="enviar" name="enviar" >

</form>
<input type="button" onClick="document.location = '<? echo 'pagina-acceso-restringido.php';?>'" name="pagina-acceso-restringido" value="regresar">

</body>
</html>
  #2 (permalink)  
Antiguo 15/02/2014, 17:26
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Genera tabla vacia

usa el [HIGHLIGHT "PHP"]Texto aqui[/HIGHLIGHT] por que no entiendo nada
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #3 (permalink)  
Antiguo 15/02/2014, 17:31
 
Fecha de Ingreso: octubre-2013
Mensajes: 16
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Genera tabla vacia

Ya vi y es cada que actualizo la pagina me genera la tabla vacia, pero no se como solucionar el problema.
  #4 (permalink)  
Antiguo 15/02/2014, 17:41
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Genera tabla vacia

eso pasa por que al cargar la pagina lo primero que se topa es el codigo PHP a cuestas sin exluciones o condiciones:


Código PHP:
Ver original
  1. $numero_disco =$_POST['numero_disco'];
  2. $nombre_serie = $_POST['nombre_serie'];
  3. $genero = $_POST['genero'];
  4. $descripcion = $_POST['descripcion'];
  5.  
  6. $link = mysql_connect(SERVIDOR_MYSQL, USUARIO_MYSQL, PASSWORD_MYSQL);
  7. mysql_select_db(BASE_DATOS, $link);
  8. $sql = "INSERT INTO series(numero_disco, nombre, genero, descripcion) VALUES ('$numero_disco', '$nombre_serie', '$genero', '$descripcion')";
  9. include "desconectar.php";


esto debes de meterlo no se dentro de una condicion if o algo por el estilo...


te dije que pusieras en resaltador el codigo no se que es que ni donde comiensa un archivo y donde termina... si es un solo file o que ... si no organizas tu post no podremos ayudarte...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #5 (permalink)  
Antiguo 15/02/2014, 17:45
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Genera tabla vacia

noooooo asi nooooo doble post no, usa el menú que dice highlight aquí arriba
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #6 (permalink)  
Antiguo 15/02/2014, 17:56
 
Fecha de Ingreso: octubre-2013
Mensajes: 16
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Genera tabla vacia

puse esto y no fuinciona alguna idea??

Código PHP:
Ver original
  1. require('php_lib/include-pagina-restringida.php'); //el incude para vericar que estoy logeado. Si falla salta a la página de login.php
  2. include('php_lib/config.ini.php'); //incluimos configuración
  3. include('php_lib/desconectar.php');
  4.  
  5. if(!datos_series)
  6. echo "no se puede mandar";
  7. else{
  8. $numero_disco =$_POST['numero_disco'];
  9. $nombre_serie = $_POST['nombre_serie'];
  10. $genero = $_POST['genero'];
  11. $descripcion = $_POST['descripcion'];
  12.  
  13. $link =  mysql_connect(SERVIDOR_MYSQL, USUARIO_MYSQL, PASSWORD_MYSQL);
  14.     // Seleccionar la base de datos activa
  15.     mysql_select_db(BASE_DATOS, $link);
  16.     $sql = "INSERT INTO series(numero_disco, nombre, genero, descripcion) VALUES ('$numero_disco', '$nombre_serie', '$genero', '$descripcion')";
  17.         mysql_query($sql, $link);
  18.    
  19.     include "desconectar.php";
  20.     }

Código HTML:
Ver original
  1.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  2.         <title>Registra Serie</title>
  3.     </head>
  4.     <body>
  5.  
  6.         <p>
  7.             Registra una serie
  8.         </p>
  9.         <form name="datos_series" type="Submit" action="datos_series.php" method="post">
  10.    Numero de Disco   :<input type="Text"  id="numero_disco" name="numero_disco"><br>
  11.    Nombre de la serie:<input type="Text" id="nombre_serie" name="nombre_serie"><br>
  12.    Genero:            <input type="Text" id="genero" name="genero"><br>
  13.    Descripcion:       <input type="Text" id="descripcion" name="descripcion"><br>
  14.    <input type="Submit" id="enviar" name="enviar" >
  15.    
  16.    </form>
  17.    <input type="button" onClick="document.location = '<? echo 'pagina-acceso-restringido.php';?>'" name="pagina-acceso-restringido" value="regresar">
  18.  
  19.     </body>
  #7 (permalink)  
Antiguo 15/02/2014, 17:59
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Genera tabla vacia

ok primeor que nada dime algo son archivos indepéndiente es el mismo archivo??? que quieres que haga y que error te sale??? algun error codigo o que??
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #8 (permalink)  
Antiguo 15/02/2014, 18:06
 
Fecha de Ingreso: octubre-2013
Mensajes: 16
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Genera tabla vacia

Todo se encuentra en el mismo archivo el codigo php y el html, 1ro es el php y luego html, no tengo problemas de codigo, a la DB conecta y ingresa los datos correctamenta pero cada que se actualiza la pagina es cuando se genera el campo vacio en la tabla, la resticcion que puse no me sirbe no se si conoscas alguna
  #9 (permalink)  
Antiguo 15/02/2014, 18:21
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Genera tabla vacia

ok comencemos por algo basico...
todo lo que comiense con:

mysql

te dara problemas en el futuro... por que esto ya esta obsoleto y en proximas verciones sera aliminado y si tu servidor actualisa y lo elimina ya no te funcionara.

ahora el problema es por que no se esta cumpliendo la condicion.

haslo teniendo en mente esto:

cuando tu php inicia.. que es lo primero que se encuentra... haa el script ... pero entonces al obtener datos basios crea una tabla vacia, entonces hay que limitar eso... si la pagina resive datos vacios no ejecutar el script php


la condicional no sirve para lo que quieres entonces usa una Exlucion isset o enty... el mejor para ti

ejemplo:

Código PHP:
Ver original
  1. if(isset($_POST['username'])


segundo trata de al final re imprimir lo que tienes...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #10 (permalink)  
Antiguo 15/02/2014, 18:55
 
Fecha de Ingreso: octubre-2013
Mensajes: 16
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Genera tabla vacia

gracias por el tip, ya no me produce la tabla vacia ahora cada que actualizo me duplica los los datos, es decir introdusco los datos los envio y si actualizo la pagina me genera otra tabla con esos datos, solo es cuando acualizo si me salgo de la pagina y entro ya no hace nada malo

Código PHP:
Ver original
  1. $enviar=$_POST['enviar'];
  2. if (isset($enviar)){
  3. $numero_disco =$_POST['numero_disco'];
  4. $numero_disco =$_POST['numero_disco'];
  5. $nombre_serie = $_POST['nombre_serie'];
  6. $genero = $_POST['genero'];
  7. $descripcion = $_POST['descripcion'];
  8.  
  9. $link =  mysql_connect(SERVIDOR_MYSQL, USUARIO_MYSQL, PASSWORD_MYSQL);
  10.     // Seleccionar la base de datos activa
  11.     mysql_select_db(BASE_DATOS, $link);
  12.     $sql = "INSERT INTO series(numero_disco, nombre, genero, descripcion) VALUES ('$numero_disco', '$nombre_serie', '$genero', '$descripcion')";
  13.         mysql_query($sql, $link);
  14.    
  15.     include "desconectar.php";
  16.     }
  #11 (permalink)  
Antiguo 15/02/2014, 19:08
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Genera tabla vacia

ok entonces ahora tienes otra condicional...
if(busca y revisa si ya existen los datos){
si entonces enviar un mensaje "pendejo no refresques la pagina por que duplicas datos"
}else{
no entonces los metemos ... a la base de datos...
}
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #12 (permalink)  
Antiguo 15/02/2014, 19:39
 
Fecha de Ingreso: octubre-2013
Mensajes: 16
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Genera tabla vacia

Muchas gracias arcanisgk122 por tu ayuda.
Lo que hice fue usar una funcion que me redirecciona y me funciono;

header('Location: datos_series.php');

porsieto si conoces otro manejador de BD facil uso y tan compatible con php como el mysql pasa el nombre para empezar a verlo
  #13 (permalink)  
Antiguo 15/02/2014, 19:43
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Genera tabla vacia

uso phpmyadmin otra cosa:
header(); no lo podras usar siempre, si hay algo antes que eso codigo HTML o PHP que salga por pantalla te dara error..
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB

Etiquetas: genera, html, mysql, select, sql, tabla
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 14:10.