Foros del Web » Programando para Internet » PHP »

Form + Script PHP

Estas en el tema de Form + Script PHP en el foro de PHP en Foros del Web. He creado un formulario en HTML y deseo obtener la data insertada en el mismo para colocarla en una base de datos MySQL y además ...
  #1 (permalink)  
Antiguo 13/01/2005, 15:33
 
Fecha de Ingreso: enero-2005
Ubicación: En el regazo de Dios
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Pregunta Form + Script PHP

He creado un formulario en HTML y deseo obtener la data insertada en el mismo para colocarla en una base de datos MySQL y además de esto deseo que esa información sea enviada hacia uno o varios E-Mails.

De antemano pido excusas. No tengo mucho conocimiento en Php (casi nulo) y necesito poder hacer esto.

Gracias adelantadas.
  #2 (permalink)  
Antiguo 13/01/2005, 15:38
 
Fecha de Ingreso: diciembre-2003
Mensajes: 276
Antigüedad: 14 años
Puntos: 0
mmm, lo que quieres hacer requiere de un conocimiento de php no avanzado solamente debes conocer la funcion mail() y conocer de como insertar registros en una base de datos, te recomiendo un manual puedes hecharle un vistazo a www.desarrolloweb.com/php

Saludos
  #3 (permalink)  
Antiguo 13/01/2005, 15:57
 
Fecha de Ingreso: enero-2005
Ubicación: En el regazo de Dios
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Pregunta Gracias.

Muchas gracias por la información brindada. Ahora mismo me pondré a leer el website pero quisiera saber si conoces ¿cómo puedo enviar las informaciones que se llenan en un formulario que ya tengo diseñado en HTML, a través de un código PHP y a parte de esto inserto esa información en una tabla de MySQL?

Mil gracias por la ayuda.
  #4 (permalink)  
Antiguo 13/01/2005, 17:27
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
¿no es exactamente la misma pregunta??... Para enviar busca la funcón mail() y para subir datos a la BD necesitas aplicar la query correcta... y otras funciones en PHP... pués, te recomiendo otra pag...
http://www.rinconastur.net/
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 13/01/2005, 18:41
Avatar de dmedina83  
Fecha de Ingreso: mayo-2004
Ubicación: Mérida
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 0
Para mandar los datos de tu formulario a un scrip php debes especificarlo en el parametro action de tu formulario es decir

<form methos="post" action="script.php">

....

</form>

en ese script recoges los datos mandados y los insertas a tu base de datos por ejemplo:

si en tu formulario mandaste un campo de texto llamado nombre lo agregarias a tu base de datos d ela siguiente forma

mysql_query("insert into tabla (campo) values ('$_POST[nombre]')");

logicamente antes tendrias que hacer tu conexion a la base de datos

Nos vemos
__________________
WebAdictos - Una dosis diaria de web
  #6 (permalink)  
Antiguo 13/01/2005, 21:09
 
Fecha de Ingreso: diciembre-2004
Ubicación: En mi ksa
Mensajes: 267
Antigüedad: 13 años
Puntos: 0
a tu <FORM ACTION="emailform.php" METHOD="POST"></form> agregale esto:

Código:
<input name="receptor" type="hidden" id="receptor" value="quien lo recive">
<input name="remitente" type="hidden" id="remitente" value="quien lo envia">
<input name="tema" type="hidden" id="tema" value="Informacion del site">
saludos
__________________
--------------------------------------------------
[::Matthew Beyer::]
MaEsTrOsWeB
Chile
--------------------------------------------------
  #7 (permalink)  
Antiguo 14/01/2005, 09:19
 
Fecha de Ingreso: enero-2005
Ubicación: En el regazo de Dios
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Buenos Días. Gracias a todas las personas que de una forma u otra han intentado ayudarme. La verdad es que he empezado a leerme todo el material relacionado con el problema que presento y aún no tengo solución.

Aquí les dejo el código para que me puedan ayudar de forma más específica.


Código:
<?php

$numero telefonico = $_POST["numerotelefonico"];
$numero de reporte = $_POST["numerodereporte"];
$fecha de apertura = $_POST["fechadeapertura"];
$estatus = $_POST["estatus"];
$reclamacion numero = $_POST["reclamacionnumero"];
$fecha de reclamacion = $_POST["fechadereclamacion"];
$nombre del cliente = $_POST["nombredelcliente"];
$visita pendiente = $_POST["visitapendiente"];

if ($comentario != NULL){ 
$link=mysql_connect("localhost", "root");
mysql_db_query("helpdesk", "INSERT INTO formint(numero telefonico, numero de reporte, fecha de apertura, estatus, reclamacion numero, fecha de reclamacion, nombre del cliente, visita pendiente) VALUES ('$numero telefonico', '$numero de reporte', '$fecha de apertura', '$estatus', '$reclamacion numero', '$fecha de reclamacion', '$nombre del cliente', '$visita pendiente)");
	mail("[email protected]", "Formulario de Internet", $numerotelefonico", " $numerodereporte", "$fechadeapertura", "$estatus", "$reclamacionnumero", "$fechadereclamacion", "$nombredelcliente", "$visitapendiente");
		
	echo "Información Enviada";
	echo "<p></p>";
	echo "<a href='formulario.htm'>volver</a>";
}else{
	echo "Debe escribir la información solicitada";
	echo "<P><a href='formulario.htm'>volver</a></P>";
	}
?>
Gracias nuevamente!
  #8 (permalink)  
Antiguo 14/01/2005, 09:37
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Saludos.

No te funciona. Pero que mensaje te da???
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #9 (permalink)  
Antiguo 14/01/2005, 09:45
Avatar de dmedina83  
Fecha de Ingreso: mayo-2004
Ubicación: Mérida
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 0
Que es lo que no te funciona realmente? la insercion de los registros o el envio del mail?
__________________
WebAdictos - Una dosis diaria de web
  #10 (permalink)  
Antiguo 14/01/2005, 09:45
 
Fecha de Ingreso: enero-2005
Ubicación: En el regazo de Dios
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Cita:
Iniciado por José Molina
Saludos.

No te funciona. Pero que mensaje te da???
Este es el mensaje: Parse error: syntax error, unexpected T_STRING in ...\www\hdd\formulario.php on line 11

En el código la línea 11 corresponde a esta declaración de variables.
$numero telefonico = $_POST["numerotelefonico"];

Muchas gracias José por la intención de ayudar. Se aprecia mucho
  #11 (permalink)  
Antiguo 14/01/2005, 09:46
 
Fecha de Ingreso: enero-2005
Ubicación: En el regazo de Dios
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Cita:
Iniciado por dmedina83
Que es lo que no te funciona realmente? la insercion de los registros o el envio del mail?
Ambas cosas...
  #12 (permalink)  
Antiguo 14/01/2005, 09:48
 
Fecha de Ingreso: enero-2005
Ubicación: En el regazo de Dios
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Me he asegurado de que la configuración del archivo php.ini esté correcta. Aún así no entiendo por qué no quiere funcionar.
  #13 (permalink)  
Antiguo 14/01/2005, 10:25
Avatar de dmedina83  
Fecha de Ingreso: mayo-2004
Ubicación: Mérida
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 0
Hola el error es el siguiente:

checa tus variables

$numero telefonico = $_POST["numerotelefonico"];
$numero de reporte = $_POST["numerodereporte"];
$fecha de apertura = $_POST["fechadeapertura"];
$estatus = $_POST["estatus"];
$reclamacion numero = $_POST["reclamacionnumero"];
$fecha de reclamacion = $_POST["fechadereclamacion"];
$nombre del cliente = $_POST["nombredelcliente"];
$visita pendiente = $_POST["visitapendiente"];


tienen espacios en blanco por lo que no son correctas
eliminales el espacio en blanco o reemplazalo por un _

ejemplo:


$numero_telefonico = $_POST["numerotelefonico"];
$numero_de_reporte = $_POST["numerodereporte"];
$fecha_de_apertura = $_POST["fechadeapertura"];
$estatus = $_POST["estatus"];
$reclamacion_numero = $_POST["reclamacionnumero"];
$fecha_de_reclamacion = $_POST["fechadereclamacion"];
$nombre_del_cliente = $_POST["nombredelcliente"];
$visita_pendiente = $_POST["visitapendiente"];

Los nombres de variables en php no pueden tener espacios en blanco.

Nos vemos y Saludos
__________________
WebAdictos - Una dosis diaria de web
  #14 (permalink)  
Antiguo 14/01/2005, 12:08
 
Fecha de Ingreso: enero-2005
Ubicación: En el regazo de Dios
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Grabar en DB

Gracias dmedina por tu aporte. Pude solucionar el problema de que la secuencia de comando estaba explotando. Aunque no me envía la información, creo que esto se debe a que en nuestra red tenemos bloqueado el puerto para envío de mensajes a E-Mail externos (políticas de seguridad). Tendré que probar este script fuera. Quizás en mi casa.

Mi mayor problema ahora es que no salva la informaciones en una base de datos que tengo creada. El código de inservión de datos es:

Código:
$link=mysql_connect("localhost", "root");
mysql_db_query("helpdesk", "INSERT INTO formint (numerotelefonico, numerodereporte, fechadeapertura, estatus, reclamacionnumero, fechadereclamacion, nombredelcliente, visitapendiente) VALUES('$numerotelefonico', '$numerodereporte', '$fechadeapertura', '$estatus', '$reclamacionnumero', '$fechadereclamacion', '$nombredelcliente', '$visitapendiente)");
¿Cuál es mi error ahora?

Muchas gracias muchachos. Cada vez más me incentivan a querer aprender y buscar más sobre este mundo.
  #15 (permalink)  
Antiguo 14/01/2005, 12:27
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Estas cometiendo el mismo error.

Tu variable la defines como $numero_telefonico pero en el query estas mandando a guardar $numerotelefonico.

$numero_telefonico != $numerotelefonico ....... y de paso
$numerotelefonico NO EXISTE.

Se consistente con tus variables.

Suerte
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #16 (permalink)  
Antiguo 14/01/2005, 13:01
Avatar de dmedina83  
Fecha de Ingreso: mayo-2004
Ubicación: Mérida
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 0
No he checado muy bien tu codigo pero a simple vista observe un error
que es el siguiente:

mysql_db_query("helpdesk", "INSERT INTO formint (numerotelefonico, numerodereporte, fechadeapertura, estatus, reclamacionnumero, fechadereclamacion, nombredelcliente, visitapendiente) VALUES('$numerotelefonico', '$numerodereporte', '$fechadeapertura', '$estatus', '$reclamacionnumero', '$fechadereclamacion', '$nombredelcliente', '$visitapendiente)");

No tienes cerrada la comilla
__________________
WebAdictos - Una dosis diaria de web
  #17 (permalink)  
Antiguo 14/01/2005, 13:13
 
Fecha de Ingreso: enero-2005
Ubicación: En el regazo de Dios
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Perdón...

Cita:
Iniciado por José Molina
Estas cometiendo el mismo error.

Tu variable la defines como $numero_telefonico pero en el query estas mandando a guardar $numerotelefonico.

$numero_telefonico != $numerotelefonico ....... y de paso
$numerotelefonico NO EXISTE.

Se consistente con tus variables.

Suerte
Gracias nuevamente.
Lo que dices, lo había contemplado antes. Es decir, una vez conocí que en PHP no se debe dejar espacio, coloqué todas las variables en el código y todos los nombres sin espacio en el formulario.htm sin espacio.


Actualmente tengo esto:
Código:
<?php

$numerotelefonico = $_POST["numerotelefonico"];
$numerodereporte = $_POST["numerodereporte"];
$fechadeapertura = $_POST["fechadeapertura"];
$estatus = $_POST["estatus"];
$reclamacionnumero = $_POST["reclamacionnumero"];
$fechadereclamacion = $_POST["fechadereclamacion"];
$nombredelcliente = $_POST["nombredelcliente"];
$visitapendiente = $_POST["visitapendiente"];

if ($numerotelefonico != NULL){ 
$link=mysql_connect("localhost", "root");
mysql_db_query("helpdesk", "INSERT INTO formint (numerotelefonico, numerodereporte, fechadeapertura, estatus, reclamacionnumero, fechadereclamacion, nombredelcliente, visitapendiente) VALUES('$numerotelefonico', '$numerodereporte', '$fechadeapertura', '$estatus', '$reclamacionnumero', '$fechadereclamacion', '$nombredelcliente', '$visitapendiente)");

mail("[email protected]", "Formulario de Internet", $numerotelefonico", "$numerodereporte", "$fechadeapertura", "$estatus", "$reclamacionnumero", "$fechadereclamacion", "$nombredelcliente", "$visitapendiente)");
	
	echo "Información Enviada";
	echo "<p></p>";
	echo "<a href='formulario.htm'>volver</a>";
}else{
	echo "Debe escribir la información solicitada";
	echo "<P><a href='formulario.htm'>volver</a></P>";
	}
?>
Entiendo que ahora no debe pasar nada raro y aún así sigue sucediendo. Ya empieza a darme dolor de cabeza esto.

Última edición por jrosariolara; 14/01/2005 a las 13:37
  #18 (permalink)  
Antiguo 14/01/2005, 13:18
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
En mysql_db_query, despues de esa linea, pon esto:
Código PHP:
echo mysql_error(); 
  #19 (permalink)  
Antiguo 14/01/2005, 13:27
 
Fecha de Ingreso: enero-2005
Ubicación: En el regazo de Dios
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Pregunta

Cita:
Iniciado por lado2mx
En mysql_db_query, despues de esa linea, pon esto:
Código PHP:
echo mysql_error(); 
Sigue sin funcionar Lado2mx. He puesto el código PHP completo, más arriba. Si fueras tan amable de ver qué es lo que sucede, creeme que te estaré eternamente agradecido.

Ruego disculpen a este ignorante en el mundo PHP. La verdad es que la necesidad que tengo sólo puede ser saciada por PHP o por ASP y del que al menos noción tengo es de PHP. Mientras ustedes me contestan, estoy leyendo manuales y tratando de entender las cosas un poco más profundo y mejor.
  #20 (permalink)  
Antiguo 15/01/2005, 00:03
Avatar de dmedina83  
Fecha de Ingreso: mayo-2004
Ubicación: Mérida
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 0
Hola tienes los siguientes errores en tu código:

mysql_db_query("helpdesk", "INSERT INTO formint (numerotelefonico, numerodereporte, fechadeapertura, estatus, reclamacionnumero, fechadereclamacion, nombredelcliente, visitapendiente) VALUES('$numerotelefonico', '$numerodereporte', '$fechadeapertura', '$estatus', '$reclamacionnumero', '$fechadereclamacion', '$nombredelcliente', '$visitapendiente)");

Como te comente en esa linea no tienes cerrada la comilla

y tambien tienes error en tu funcion mail

mail("[email protected]", "Formulario de Internet", $numerotelefonico", "$numerodereporte", "$fechadeapertura", "$estatus", "$reclamacionnumero", "$fechadereclamacion", "$nombredelcliente", "$visitapendiente)");

Estas mandando mas parametros de los que admite la funcion

Intenta usar este codigo:
Código PHP:
<?php

$numerotelefonico 
$_POST["numerotelefonico"];
$numerodereporte $_POST["numerodereporte"];
$fechadeapertura $_POST["fechadeapertura"];
$estatus $_POST["estatus"];
$reclamacionnumero $_POST["reclamacionnumero"];
$fechadereclamacion $_POST["fechadereclamacion"];
$nombredelcliente $_POST["nombredelcliente"];
$visitapendiente $_POST["visitapendiente"];

if (
$numerotelefonico != NULL){ 
$link=mysql_connect("localhost""root");
mysql_db_query("helpdesk""INSERT INTO formint (numerotelefonico, numerodereporte, fechadeapertura, estatus, reclamacionnumero, fechadereclamacion, nombredelcliente, visitapendiente) VALUES('$numerotelefonico', '$numerodereporte', '$fechadeapertura', '$estatus', '$reclamacionnumero', '$fechadereclamacion', '$nombredelcliente', '$visitapendiente')");
// Parametros de la Funcion Mail
//mail(receptor, asunto, cuerpo, Cabeceras);
$mensaje="Etiqueta: ".$numerotelefonico."\n";
$mensaje.="Etiqueta: ".$numerodereporte."\n";
$mensaje.="Etiqueta: ".$fechadeapertura."\n";
$mensaje.="Etiqueta: ".$estatus."\n";
$mensaje.="Etiqueta: ".$reclamacionnumero."\n";
$mensaje.="Etiqueta: ".$fechadereclamacion."\n";
$mensaje.="Etiqueta: ".$nombredelcliente."\n";
$mensaje.="Etiqueta: ".$visitapendiente."\n";

if(
mail("[email protected]""Formulario de Internet",$mensaje,"From: [email protected]")) {
    echo 
"Información Enviada";
}
    echo 
"<p></p>";
    echo 
"<a href='formulario.htm'>volver</a>";
}else{
    echo 
"Debe escribir la información solicitada";
    echo 
"<P><a href='formulario.htm'>volver</a></P>";
    }
?>
Espero te sirva Nos vemos
__________________
WebAdictos - Una dosis diaria de web
  #21 (permalink)  
Antiguo 15/01/2005, 14:22
 
Fecha de Ingreso: enero-2005
Ubicación: En el regazo de Dios
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
No sé por qué!!!

Dmedina, agradezco tus esfuerzos por ayudarme, pero la verdad parece que tendré que hacer cualquier otra cosa, menos usar PHP y el formulario HTML que he creado. De la corrección que hiciste he hecho una copia perfecta en la página PHP que tengo tengo dos problemas:

#1 => No graba en la base de datos.
#2 => El mensaje que me sale luego de que inserto todos los datos y hago click en el botón enviar es: "Debe escribir la información solicitada" y más abajo me aparece el link volver.

Intentaré continuar leyendo. Aunque creo que si ustedes que son expertos en esto no han podido dar con la solución, mi lectura en poco puede ayudarme con este problema.

Agradezco enormemente la ayuda brindada y espero dentro poco ser alguien que ayude, no alguien que fastidie tanto por obtener una solución.
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 13:55.