Foros del Web » Programando para Internet » Javascript »

Alert en php sin cambiar de pagina

Estas en el tema de Alert en php sin cambiar de pagina en el foro de Javascript en Foros del Web. Tengo un formulario el cual el usuario introduce informacion para almacenar en bd y un php el cual guarda los datos en la bd. Quiero ...
  #1 (permalink)  
Antiguo 17/11/2015, 17:07
 
Fecha de Ingreso: noviembre-2010
Mensajes: 47
Antigüedad: 13 años, 5 meses
Puntos: 1
Alert en php sin cambiar de pagina

Tengo un formulario el cual el usuario introduce informacion para almacenar en bd y un php el cual guarda los datos en la bd.
Quiero que al guardar la informacion se envie un mensaje tipo alert "Informacion almacenada" hasta este momento si sale el mensaje pero cambia a una pantalla blanca y el mensaje deberia aparecer en donde esta el formulario. Se que es mas facil con ajax, pero mi docente me lo exige en php y javascript.
Alguien a tenido este mismo detalle que haya encontrado solución?
  #2 (permalink)  
Antiguo 17/11/2015, 17:19
 
Fecha de Ingreso: agosto-2015
Ubicación: En Carúpano
Mensajes: 49
Antigüedad: 8 años, 8 meses
Puntos: 12
Respuesta: Alert en php sin cambiar de pagina

Si no dejas el código no se si se pueda hacer mucho por ti, y bueno que yo sepa AJAX no es un lenguaje de programación, sigue siendo javascript.
  #3 (permalink)  
Antiguo 17/11/2015, 18:55
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Alert en php sin cambiar de pagina

Podrías ejecutar el mensaje de alerta desde PHP.

Código PHP:
Ver original
  1. echo <<<JAVASCRIPT
  2.     <script type="text/javascript">
  3.         alert("Mensaje");
  4.     </script>
  5. JAVASCRIPT;

Pero lo recomendable es tener códigos de distintos lenguajes por separado, al menos en la medida de lo posible, por lo cual, utilizar AJAX es una buena opción. Por cierto, AJAX no es un lenguaje de programación sino:

Cita:
Iniciado por Mozilla Developer Network
Es un término que describe un nuevo modo de utilizar conjuntamente varias tecnologías existentes. Esto incluye: HTML o XHTML, CSS, JavaScript, DOM, XML, XSLT, y el objeto XMLHttpRequest. Cuando estas tecnologías se combinan en un modelo AJAX, es posible lograr aplicaciones web capaces de actualizarse continuamente sin tener que volver a cargar la página completa. Esto crea aplicaciones más rápidas y con mejor respuesta a las acciones del usuario.
Por lo tanto, si te permiten el uso de JavaScript, puedes hacer uso de AJAX.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #4 (permalink)  
Antiguo 17/11/2015, 19:25
 
Fecha de Ingreso: noviembre-2010
Mensajes: 47
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Alert en php sin cambiar de pagina

Gracias por sus comentarios, en mi php estoy enviando un alert se ejecuta bien pero lo hace en una pantalla diferente y lo redirecciono a la pag donde esta el formulario y lo que quiero es que el alert aparezca en la pag donde esta el formulario sin redireccionar

codigo html

<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>

<form name="Buscar" id="Buscar" method="POST" action="verArchivos.php " >
<label> Titulo </label>
<input type=text name="cajaTitulo" id="cajaTitulo" >
<button type="submit" id="boton" value="Buscar" > Buscar </button>

</form>
</body>
</html>

Codigo php

<?php
include_once 'config.inc.php';
if (isset($_POST['subir'])) {
$nombre = $_FILES['archivo']['name'];
$tipo = $_FILES['archivo']['type'];
$tamanio = $_FILES['archivo']['size'];
$ruta = $_FILES['archivo']['tmp_name'];
$destino = "Archivos/" . $nombre;
if ($nombre != "") {
if (copy($ruta, $destino)) {
$titulo= $_POST['subirTitulo'];
$autor= $_POST['subirAutor'];
$editorial= $_POST['subirEditor'];
$anio= $_POST['subirAño'];
$carrera= $_POST['tipoCarrera'];
$db=new Conect_MySql();
$sql = "INSERT INTO Documentos(titulo,Autor,Editorial,Año,tamanio,tipo ,nombre_archivo,IdCarrera) VALUES('$titulo','$autor','$editorial','$anio',$ta manio,'$tipo','$nombre','$carrera')";
$query = $db->execute($sql);

if($query){

echo "<SCRIPT >
alert('Aviso!, Archivo guardado exitosamente');
document.location=('subirPDF.php');
</SCRIPT>";
}
} else {
echo "Error";
}
}

}
?>
  #5 (permalink)  
Antiguo 17/11/2015, 19:27
 
Fecha de Ingreso: noviembre-2010
Mensajes: 47
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Alert en php sin cambiar de pagina

perdon el codigo anterior del html no es el que coloque

este es el bueno

<form name="Buscar" id="Buscar" method="POST" action="subirArchivo.php " enctype="multipart/form-data">
<header>
<h3> Subir Archivos </h3>
</header>
<br> <br>
<label name="etiTitulo" class="etiTitulo">Titulo</label>
<input type="text" name="subirTitulo" id="subirTitulo" >

<label name="etiAutor"class="etiAutor">Autor</label>
<input type="text" name="subirAutor" id="subirAutor" >

<label>Editorial</label>
<input type="text" name="subirEditor" id="subirEditor" >

<label>Año</label>
<input type="text" name="subirAño" id="subirAño" >

<label id="seleccion" > Carrera </label>
<select id="tipoCarrera" name="tipoCarrera" > <option> Selecciona una opcion</option>
<option value="ISC"> ISC</option>
<option value="LAD"> LAD</option>

</select>
<input type="file" name="archivo" id="archivo" class="archivo">
<input type="submit" value="Subir" name="subir" id="botonSubir" class="botonSubir">
</form>
  #6 (permalink)  
Antiguo 17/11/2015, 20:27
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Alert en php sin cambiar de pagina

En ese caso, tendrás que usar AJAX.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 17/11/2015, 21:30
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Alert en php sin cambiar de pagina

cuando envies la informacion, realiza una redireccion una vez se almacene enviando una variable de confirmacion la cual va a imprimir el alert en la pagina del formulario, algo asi:

Código PHP:
Ver original
  1. //aqui se suone que recibes los datos y los almacenas
  2.  
  3. //y aqui realizas la condicion
  4.  
  5. if($inserta){
  6. header('location:form.php?inserta=si');
  7. } else{
  8. header('location:form.php?inserta=no');
  9. }

y donde esta tu formulario se imprimira el alert que necesites, algo asi:

Código PHP:
Ver original
  1. <?php if($_get['inserta']=="si"){ ?>
  2.  
  3. <script>alert("Registro Insertado");</script>
  4.  
  5. <?php }elseif($_get['inserta']=="no"){; ?>
  6.  
  7. <script>alert("Registro NO Insertado");</script>
  8.  
  9. <?php }; ?>

eso seria todo en este caso, al menos yo lo haria asi en caso de no usar ajax
__________________
[email protected]
HITCEL
  #8 (permalink)  
Antiguo 17/11/2015, 23:34
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Alert en php sin cambiar de pagina

Por lo dicho en esta línea:

Cita:
Iniciado por bettyrous Ver Mensaje
[...] lo que quiero es que el alert aparezca en la pag donde esta el formulario sin redireccionar [...]
Me parece que bettyrous quiere procesar los datos del formulario y que aparezca el mensaje de éxito o error en la misma página sin hacer la redirección hacia el archivo que procesará los datos, tal y como lo señala. Para casos así, una simple petición asíncrona (AJAX) basta y sobra.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: ajax, formulario, php
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 22:41.