Comunidad de diseño web y desarrollo en internet online

Mostrar el resultado del PHP en mi pagina de HTML

Citar            
MensajeEscrito el 31 Mar 2012 02:29 am
Hola que tal amigos desarrolladores.
recién estoy aprendiendo a programar web y necesito un poco de ayuda mi problema es el siguiente:

Tengo mi pagina .HTML con un formulario que envía datos a una base en MYSQL, el problema es que tengo 2 archivos uno llamado MIPAGINA.HTML y otro donde tengo mi código PHP ENVIOABASE.PHP....


Mi código html:

Código HTML :

<form id="formulariocorreo"   action="envioabase.php" enctype="multipart/form-data" method="post" >
Correo: <input type="text" name="email" class="input">
Nombre: <input type="text" name="nombre" class="input">
<button type="submit" name="enviar" class="enviar">Enviar</button>
</form>


Mi código PHP:

Código PHP :

<?php
$conexion = mysql_connect("localhost","root","");
mysql_select_db("correos",$conexion);
$text = $_POST['email'];
$aceptados = '^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$';
if(preg_match('/'.$aceptados.'/',$text))
{
$consulta = "insert into personas(email,nombre) values('{$_POST['email']}','{$_POST['nombre']}')";
mysql_query($consulta);
echo "DATOS ENVIADOS";
}
else{
echo "ERROR AL ENVIAR";
}
?>

Todo lo hace perfecto pero lo que quiero es que me aparesca el mensaje de DATOS ENVIADOS debajo del formulario en donde estoy mandando los datos (osea en la pagina original donde tengo mi codigo html)

LES AGRADECERÍA QUE ME AYUDARAN SOY NUEVO EN LA COMUNIDAD AUNQUE CREO QUE ES ALGO MUY SENCILLO

Un saludo a toda la comunidad de Cristalab

Por luispastendeveloper

12 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 31 Mar 2012 02:44 am
Para lograr eso debes aplicar la técnica Ajax de JavaScript.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 31 Mar 2012 02:49 am

DriverOp escribió:

Para lograr eso debes aplicar la técnica Ajax de JavaScript.


no puedo hacerlo con php?
yo pensé que era algo muy sencillo

Por luispastendeveloper

12 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 31 Mar 2012 12:08 pm
No, no lo es.

Debes entender que el protocolo HTTP es de tipo cliente-servidor, esto significa que el servidor no hace nada a menos que el cliente se lo pida. Y además se sincrónico, es decir cuando una de las partes está trabajando, la otra se queda a la espera.

Tal como tienes el código lo que sucede cuando se hace clic en el botón "enviar" el cliente hace una petición al servidor y cliente muestra el resultado que le envió el servidor, esto no es ni más ni menos que cargar una página nueva en el cliente.

La técnica Ajax se inventó para que el cliente pueda hacer una petición al servidor y esperar el resultado sin bloquearse. Es decir, el cliente se vuelve asicrónico. El servidor ni se entera de esto.

Por lo tanto lo que quieres hacer, lo debes hacer del lado del cliente, no del servidor.

No te pongo código porque hay muchas implementaciones de Ajax. A juzgar por lo que quieres hacer quizá deberías investigar JQuery ya que lo tuyo es muy simple (de hecho, Ajax se pensó precisamente para casos como el tuyo aunque tiene más aplicaciones).

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 31 Mar 2012 01:48 pm

DriverOp escribió:

No, no lo es.

Debes entender que el protocolo HTTP es de tipo cliente-servidor, esto significa que el servidor no hace nada a menos que el cliente se lo pida. Y además se sincrónico, es decir cuando una de las partes está trabajando, la otra se queda a la espera.

Tal como tienes el código lo que sucede cuando se hace clic en el botón "enviar" el cliente hace una petición al servidor y cliente muestra el resultado que le envió el servidor, esto no es ni más ni menos que cargar una página nueva en el cliente.

La técnica Ajax se inventó para que el cliente pueda hacer una petición al servidor y esperar el resultado sin bloquearse. Es decir, el cliente se vuelve asicrónico. El servidor ni se entera de esto.

Por lo tanto lo que quieres hacer, lo debes hacer del lado del cliente, no del servidor.

No te pongo código porque hay muchas implementaciones de Ajax. A juzgar por lo que quieres hacer quizá deberías investigar JQuery ya que lo tuyo es muy simple (de hecho, Ajax se pensó precisamente para casos como el tuyo aunque tiene más aplicaciones).

Por luispastendeveloper

12 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 31 Mar 2012 04:02 pm
No necesariamente tiene que ser con AJAX, puedes hacer lo que dices recargando la página, que quizá no sea igual de bonito pero poder se puede.

El problema es que la página donde tienes el formulario es un HTML, tendrías que renombrarlo con extensión PHP, luego a la acción del formulario le pones la misma página (MiPagina.php).

Entonces agregas las siguientes líneas a MiPagina.php (abajo del formulario):

Código PHP :

 if (isset($_POST['enviar'])){
      //aquí pones todo el codigo que tenias en EnvioBase.php
} //revisa que se haya llenado el formulario


O para modularizar mejor el código puedes poner:


Código PHP :

 if (isset($_POST['enviar'])){
      include(EnvioBase.php);
} //revisa que se haya llenado el formulario

Por Lexas

1207 de clabLevel

7 tutoriales

Genero:Femenino   Desarrollador de GAIA Premio_Secretos

Ilustración y desarrollo de software

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.