Foros del Web » Programando para Internet » PHP »

Nuevo en PHP... Necesito ayuda

Estas en el tema de Nuevo en PHP... Necesito ayuda en el foro de PHP en Foros del Web. Buen día... Mi problema es que no puedo guardar los datos que introduzco en un formulario directo en una tabla en MySQL. Introduzco los datos ...
  #1 (permalink)  
Antiguo 23/01/2009, 08:38
 
Fecha de Ingreso: enero-2009
Mensajes: 11
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Nuevo en PHP... Necesito ayuda

Buen día... Mi problema es que no puedo guardar los datos que introduzco en un formulario directo en una tabla en MySQL. Introduzco los datos y le doy click en el botón de guardar y simplemente hace como que me los envía sin embargo cuando reviso mi base en MySQL no encuentro los datos nuevos introducidos. No sé si no he instalado los programas correctos o cual sea mi problema. Por favor ayúdenme. Los programas que tengo instalados aunque no sé si son los correctos son: AppServ 2.5.10; MySQL Server and Clients 3.22 Shareware version; PHP 5.2.8. No sé realmente si tengo que instalar algún otro o desinstalar alguno de los que tengo, soy nuevo en esto y la verdad no estoy familiarizado.

Les agradecería muchísimo su Ayuda.

Gracias...
  #2 (permalink)  
Antiguo 23/01/2009, 08:42
(Desactivado)
 
Fecha de Ingreso: enero-2009
Ubicación: En mi casa
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Nuevo en PHP... Necesito ayuda

Podrías dejar el códiga para que lo veamos

Saludos!
  #3 (permalink)  
Antiguo 26/01/2009, 09:09
 
Fecha de Ingreso: enero-2009
Mensajes: 11
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Nuevo en PHP... Necesito ayuda

que tal, miren los códigos que yo tengo hasta ahorita son códigos que he bajado, lo que yo quiero es que hagan bien la conexión para de ellos yo basarme en hacer el que a mi me servirá, pero no logro hacer que se guarden los datos en la tabla, entonces pues la verdad si necesito mucho de su ayuda...

este es el script de conexión:

<!-- Manual de PHP de WebEstilo.com -->
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
function Conectarse()
{
if (!($link=mysql_connect("localhost","root","xicoabr a")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("mybd",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}

$link=Conectarse();
echo "Conexión con la base de datos conseguida.<br>";

mysql_close($link); //cierra la conexion
?>
</body>
</html>

este es el scritp que según agrega datos a mi base de datos en MySQL:

<html>
<body>

<?php
if ($enviar) {
// process form
$link = mysql_connect("localhost", "root", "xicoabra");
mysql_select_db("mybd",$link);
mysql_query("INSERT INTO agenda (nombre, direccion, telefono, email) VALUES ('{$_POST['nombre']}', '{$_POST['direccion']}', '{$_POST['telefono']}', '{$_POST['email']}')",$link);

echo "¡Gracias! Hemos recibido sus datos.\n";
}else{
?>

<form method="post" action="add_reg.php">
Nombre :<input type="Text" name="nombre"><br>
Dirección:<input type="Text" name="direccion"><br>
Teléfono :<input type="Text" name="telefono"><br>
E-mail :<input type="Text" name="email"><br>
<input type="Submit" name="enviar" value="Aceptar información">
</form>

<?php
} //end if
?>

</body>
</html>

No sé si con eso baste para que me ayuden, si necesitan lo demás díganmelo y lo pongo... Gracias...
  #4 (permalink)  
Antiguo 26/01/2009, 09:46
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 3 meses
Puntos: 27
Respuesta: Nuevo en PHP... Necesito ayuda

Proba de la siguiente manera

primero igualar cada parametro recibido a unas variables.

Te dejo un ejemplo:
Código PHP:
<?php
// process form
$link mysql_connect("localhost""root""xicoabra");
mysql_select_db("mybd",$link);

$nombre $_POST['nombre'];
$direccion $_POST['direccion'];
$telefono $_POST['telefono'];
$email $_POST['email'];

mysql_query("INSERT INTO agenda(nombre, direccion, telefono, email) VALUES ('$nombre', '$direccion', '$telefono', '$email')",$link);

echo 
"¡Gracias! Hemos recibido sus datos."
?>
proba a ver si te sirve..

salu2

Edit.:

Probe en localhost otra alternativa, y funciona, te dejo lo que hice:

Primer Paso: Crear un archivo de conexion (mysql.php)
Código PHP:
class MySQL{  
private 
$conexion;  
private 
$total_consultas;  
public function 
MySQL(){  
if(!isset(
$this->conexion)){  
$this->conexion = (mysql_connect("localhost","usuario","no_te_la_digo")) or die(mysql_error());  
mysql_select_db("foros_del_web_pruebas",$this->conexion) or die(mysql_error());  
}  
}  
public function 
consulta($consulta){  
$this->total_consultas++;  
$resultado mysql_query($consulta,$this->conexion);  
if(!
$resultado){  
echo 
'MySQL Error: ' mysql_error();  
exit;  
}  
return 
$resultado;   
}  
public function 
fetch_array($consulta){   
return 
mysql_fetch_array($consulta);  
}  
public function 
num_rows($consulta){   
return 
mysql_num_rows($consulta);  
}  
public function 
getTotalConsultas(){  
return 
$this->total_consultas;  
  }  
}
?> 
ya tienes tu conexion, luego creas el archivo que contiene tu formulario (con el nombre que quieras)

Código HTML:
<html>
<form method="post" action="add_reg.php">
Nombre :<input type="Text" name="nombre"><br>
Dirección:<input type="Text" name="direccion"><br>
Teléfono :<input type="Text" name="telefono"><br>
E-mail :<input type="Text" name="email"><br>
<input type="Submit" name="enviar" value="Aceptar información">
</form> 
</html> 
y por ultimo tu archivo, que realiza el registro en la BD (add_reg.php)

Código PHP:
<?php
include("mysql.php");  
$db = new MySQL();  

$nombre $_POST['nombre'];
$direccion $_POST['direccion'];
$telefono $_POST['telefono'];
$email $_POST['email'];

$db->consulta("INSERT INTO usuario(nombre, direccion, telefono, email) VALUES ('$nombre', '$direccion', '$telefono', '$email')");

echo 
"¡Gracias! Hemos recibido sus datos."

?>
Es todo, para esto cree una base de datos con el nombre: foros_del_web_pruebas

y una tabla con el nombre: usuario

ambos puedes modificar a tu gusto

y para recalcar y lo importante, cada archivo debe estar en la misma carpeta

mysql.php
formulario.html
add_reg.php


salu2

Última edición por vicram10; 27/01/2009 a las 13:15 Razón: Coloque etiqueta HTML (mejor interpretacion)
  #5 (permalink)  
Antiguo 27/01/2009, 11:57
 
Fecha de Ingreso: enero-2009
Mensajes: 11
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Nuevo en PHP... Necesito ayuda

Ok gracias... yo checo y te comentó como me fue...
  #6 (permalink)  
Antiguo 28/01/2009, 08:43
 
Fecha de Ingreso: enero-2009
Mensajes: 11
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Nuevo en PHP... Necesito ayuda

Probé el script de conexión que me mandaste y este fue lo que me apareció:

CONEXION


conexion)){ $this->conexion = (mysql_connect("localhost","root","xicoabra")) or die(mysql_error()); mysql_select_db("mybd",$this->conexion) or die(mysql_error()); } } public function consulta($consulta){ $this->total_consultas++; $resultado = mysql_query($consulta,$this->conexion); if(!$resultado){ echo 'MySQL Error: ' . mysql_error(); exit; } return $resultado; } public function fetch_array($consulta){ return mysql_fetch_array($consulta); } public function num_rows($consulta){ return mysql_num_rows($consulta); } public function getTotalConsultas(){ return $this->total_consultas; } } ?>

como te digo soy nuevo en esto y pues la verdad no le encuentro el error. Disculpas las molestias
  #7 (permalink)  
Antiguo 28/01/2009, 10:26
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 3 meses
Puntos: 27
Respuesta: Nuevo en PHP... Necesito ayuda

y cual es el error?, puesto que tu no usas ese php, solo lo llamas, lo que usas son los otros, este php te sirve para poder conectarte en la base de datos, solo para eso.

pero primero dinos que tipo de error te surge, para poder guiarte.

salu2
  #8 (permalink)  
Antiguo 28/01/2009, 12:07
 
Fecha de Ingreso: enero-2009
Mensajes: 11
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Nuevo en PHP... Necesito ayuda

Pues mira, en si no me despliega una ventana que diga error. Al script le puse de nombre mysql.php, ahora al irme al navegador y ejecutar localhost/mysql.php, la pantalla lo único que muestra es esto:

CONEXION



conexion)){ $this->conexion = (mysql_connect("localhost","root","xicoabra")) or die(mysql_error()); mysql_select_db("mybd",$this->conexion) or die(mysql_error()); } } public function consulta($consulta){ $this->total_consultas++; $resultado = mysql_query($consulta,$this->conexion); if(!$resultado){ echo 'MySQL Error: ' . mysql_error(); exit; } return $resultado; } public function fetch_array($consulta){ return mysql_fetch_array($consulta); } public function num_rows($consulta){ return mysql_num_rows($consulta); } public function getTotalConsultas(){ return $this->total_consultas; } } ?>

y eso es todo lo que me despliega en la pantalla, prácticamente me está sacando todo lo que está escrito en el script de php, sólo que me lo pone todo de corrido
  #9 (permalink)  
Antiguo 28/01/2009, 13:11
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 3 meses
Puntos: 27
Respuesta: Nuevo en PHP... Necesito ayuda

es que es eso lo que te digo, no necesitas ejecutar este mysql.php

el se "ejecuta" automaticamente cuando le llamas desde cualquier otro codigo.php

en este caso

Código PHP:
<?php
include("mysql.php");
.
.
.
?>
es en esa parte que él le hace el llamado a ese mysql.php y conecta a la base de datos.

en sintesis, no lo ejecutas manualmente, una ves que cargas el formulario

y le das al boton

Código HTML:
<input type="Submit" name="enviar" value="Aceptar información" > 
automaticamente el llama al otro codigo, y este codigo se encarga de ejecutar el mysql.php para luego poder insertar en la BD

ahora me entiendes?

cualquier duda postea

salu2
  #10 (permalink)  
Antiguo 28/01/2009, 13:29
 
Fecha de Ingreso: enero-2009
Mensajes: 11
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Nuevo en PHP... Necesito ayuda

Ok entiendo... checaré y ya te digo que onda... gracias, en verdad te agradezco tu ayuda.
  #11 (permalink)  
Antiguo 02/02/2009, 21:09
 
Fecha de Ingreso: enero-2009
Mensajes: 11
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Nuevo en PHP... Necesito ayuda

Hola que tal, oye hice exactamente lo que me dijiste y me sigue apareciendo el error que te comenté:

class MySQL{ private $conexion; private $total_consultas; public function MySQL(){ if(!isset($this->conexion)){ $this->conexion = (mysql_connect("localhost","root","xicoabra")) or die(mysql_error()); mysql_select_db("foros_del_web_pruebas",$this->conexion) or die(mysql_error()); } } public function consulta($consulta){ $this->total_consultas++; $resultado = mysql_query($consulta,$this->conexion); if(!$resultado){ echo 'MySQL Error: ' . mysql_error(); exit; } return $resultado; } public function fetch_array($consulta){ return mysql_fetch_array($consulta); } public function num_rows($consulta){ return mysql_num_rows($consulta); } public function getTotalConsultas(){ return $this->total_consultas; } } ?>
Fatal error: Class 'MySQL' not found in C:\AppServ\www\add_reg.php on line 3

este mensaje que te coloqué en las líneas anteriores aparece a la hora que yo le doy click en el botón que dice: ACEPTAR INFORMACIÓN... la verdad no sé si están mal instalados mis programas, si no he instalado los programas correctos o que onda. Disculpa las molestias que te estoy dando...
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:18.