Foros del Web » Programando para Internet » PHP »

Inserta datos en tabla en blanco-

Estas en el tema de Inserta datos en tabla en blanco- en el foro de PHP en Foros del Web. Ya busque en el foro y no es precisamente lo que a mi me pasa... pues nada que desde este formulario: Código HTML: <form action= ...
  #1 (permalink)  
Antiguo 06/12/2007, 12:08
 
Fecha de Ingreso: diciembre-2007
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Exclamación Inserta datos en tabla en blanco-

Ya busque en el foro y no es precisamente lo que a mi me pasa...

pues nada que desde este formulario:

Código HTML:
<form action="functions.php" method="post" id="add_cat">
  <input name="cat_name" id="cat_name" type="text" size="25" maxlength="25" value="cat_name"/><br/>
  <input name="Agregar" type="submit" value="Agregar" />  
</form> 
mando con este código a una base de datos:

Código PHP:
$inst_cat "INSERT INTO category (cat_name) ";
$inst_cat .= "VALUES ('$cat_name')";
$result_cat mysql_query($inst_cat) or die(mysql_error()); 
Pero solo me agrega el registro en blanco, mi ID si agega perfectamenbte bien el autonumeroda pero el texto que meto en el campo de cat_name no me lo registra, la configuración de la tabla y los campos es:

Código:
CREATE TABLE category (
cat_id int(11) NOT NULL auto_increment,
cat_name varchar(100) NOT NULL,
PRIMARY KEY (cat_id)
) TYPE=MyISAM AUTO_INCREMENT=9
Me pueden ayudar plz?
  #2 (permalink)  
Antiguo 06/12/2007, 12:17
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Inserta datos en tabla en blanco-

Si no tienes activado register_globals tendrás que acceder al valor por los arrays superglobales.
  #3 (permalink)  
Antiguo 06/12/2007, 12:23
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Inserta datos en tabla en blanco-

imprimi la variable $cat_name para ver si trae los datos del frm.

saludos
__________________
http://www.rollermountain.com
  #4 (permalink)  
Antiguo 06/12/2007, 13:24
Avatar de isaacluz  
Fecha de Ingreso: marzo-2005
Mensajes: 180
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Inserta datos en tabla en blanco-

Prueba con algo como

Código PHP:
$inst_cat "INSERT INTO category (cat_name) "
$inst_cat .= "VALUES ('".$_POST['cat_name']."')"
$result_cat mysql_query($inst_cat) or die(mysql_error()); 
__________________
Regala un pescado a un hombre y lo alimetarás un día, enseñale a pescar y lo alimentarás toda su vida, no contestes su post y se enojará.

  #5 (permalink)  
Antiguo 06/12/2007, 14:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
De acuerdo Re: Inserta datos en tabla en blanco-

Sanubrio:
Gracias, lo tengo activado...

carlosmbrizuela:
Imprimi y el valor que se pasa es el numero uno, extraño no? aparece en pantalla el "1" así plano.. sabras porque?

isaacluz:
Gracias compadre... jaló a la perfección... pero solo cuando ejecuta dentro de código no cuando esta en función, abajo el código

Última edición por ivan_grimaldo; 06/12/2007 a las 16:53 Razón: porque no puse la información correcta
  #6 (permalink)  
Antiguo 06/12/2007, 16:52
 
Fecha de Ingreso: diciembre-2007
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Inserta datos en tabla en blanco-

MMM dirán que soy demaciado latoso...

pero miren:

Código HTML:
<form action="functions.php" method="post" id="add_cat">
  <input name="cat_name" id="cat_name" type="text" size="25" maxlength="25" value="cat_name"/><br/>
  <input name="Agregar" type="submit" value="<?php add_cat( 'cat_name'); ?>" />  
</form> 
Código PHP:
function add_cat(){
echo 
"Agregar";
$inst_cat "INSERT INTO category (cat_name) ";
$inst_cat .= "VALUES ('".$_POST['cat_name']."')"
$result_cat mysql_query($inst_cat) or die(mysql_error()); 

Me sigue apareciendo en blanco
  #7 (permalink)  
Antiguo 06/12/2007, 16:54
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Inserta datos en tabla en blanco-

Por qué pones en el value del submit la función esa?? Deberías ejecutarla al recibir el formulario para procesar los datos.
  #8 (permalink)  
Antiguo 06/12/2007, 16:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Inserta datos en tabla en blanco-

No puedes enlazar asi una funcion PHP y HTML.

Mas bien tu formulario tiene que hacer un POST a tu pagina functions.php y ahi hacer el proceso.

Saludos.
  #9 (permalink)  
Antiguo 06/12/2007, 16:57
 
Fecha de Ingreso: diciembre-2007
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Inserta datos en tabla en blanco-

jjajajaja ya encontré la respuesta...

en la acción estaba llamando al funtions.php y no me dejaba continuar correctamente.. como la tengoincluida desde arriba.. sorry gracias
  #10 (permalink)  
Antiguo 06/12/2007, 17:34
 
Fecha de Ingreso: diciembre-2007
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Exclamación Re: Inserta datos en tabla en blanco-

bueno miren es que pasa lo siguiente...

se hace las cosas por separado... osea meter tooodoo el php en cada una de las paginas y hacerlo por separado..a horita quiero hacer esto mas ordenado y simple, pero resulta que tiene pros y contras.. les pongo los codigos (es un portafolio personal para guaradar mis archivos como diskeñoador)

functons.php:
Código PHP:
<?php require('conf_conn.php'); ?>
<?php 
//Insertamos Categorias
function add_cat(){
echo 
"Agregar";
$inst_cat "INSERT INTO category (cat_name) ";
$inst_cat .= "VALUES ('".$_POST['cat_name']."')"
$result_cat mysql_query($inst_cat) or die(mysql_error()); 
}
//Pedir categorias
function display_ca(){
$query_cat="select * from category ORDER BY cat_id";
$list_cat=mysql_query($query_cat);
    while (
$row=mysql_fetch_array($list_cat)){
        echo 
'<option value="'.$row["cat_name"].'">'.$row["cat_name"].'</option>';
    }
}
//Insertamos insertamos texto de categoria
function add_txt(){
$inst_txt "INSERT INTO txt_file (txt_cat, txt_title, txt_cont) "
$inst_txt .= "VALUES ( '$txt_cat', '$txt_title', '$txt_cont')"
$result_txt mysql_query($inst_txt) or die(mysql_error());
}
?>
add_cat.php:
Código HTML:
<form method="post" id="add_cat">
  <input name="cat_name" id="cat_name" type="text" size="25" maxlength="25" value="cat_name"/><br/>
  <input name="Agregar" type="submit" value="<?php add_cat( 'cat_name'); ?>" />  
</form> 
add_txt:
Código HTML:
<form action="functions.php" method="post" id="add_cat">
	<select name="txt_cat" id="txt_cat">
  <?php echo display_ca(); ?>
	</select><br/>
  <input name="txt_title" id="txt_title" type="text" size="25" maxlength="25" value="txt_title"/><br/>
  <textarea cols="35" rows="7" name="txt_cont" id="txt_cont"></textarea>
  <br/>
  <input name="Agregar" type="submit" value="Agregar" onclick="<?php add_txt('txt_cat, txt_title, txt_cont'); ?>" />  
</form> 
de plano ando todo mal verdad?.. alguien sabe de un tuto como hacer un CMS simple en php y de ahí irme construyendo lo que yo quiera... jajja me esta causando un poco de dolor de cabeza
  #11 (permalink)  
Antiguo 07/12/2007, 09:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Inserta datos en tabla en blanco-

Como te comento, las funciones directas en el cliente (onclick) no tienen valor en PHP, ya que se procesan en dos tiempos diferentes, primero el PHP se ejecuta, y posteriormente la salida del script es lo que ves en tu explorador.

Si quieres ejecutarla al momento de hacer click, tienes que recurrir a un puente del tipo AJAX.

Saludos.
  #12 (permalink)  
Antiguo 07/12/2007, 10:01
 
Fecha de Ingreso: diciembre-2007
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Inserta datos en tabla en blanco-

mmm que locochon.. este fin de semana será muy divertido... weeee jajajja

chamgos debo ver bien a bien com hacerlo, muchas gracias
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 00:33.