FAQ
Hola!!!

Tengo una página donde se hacen comentarios, pero quiero que justo cuando
se mete un comentario en la BD, aparezca una ventana diciendo que el
comentario ha sido introducido correctamente en la BD, el caso es que tengo
un header ("Location: $url"); y creo que me está dando problemas, si hay
alguien que me pueda ayudar!!!!!
Muchas gracias

Search Discussions

  • Carlos Medina at Aug 25, 2008 at 11:00 am

    irantzu@dosalcubo.net schrieb:
    Hola!!!

    Tengo una página donde se hacen comentarios, pero quiero que justo cuando
    se mete un comentario en la BD, aparezca una ventana diciendo que el
    comentario ha sido introducido correctamente en la BD, el caso es que tengo
    un header ("Location: $url"); y creo que me está dando problemas, si hay
    alguien que me pueda ayudar!!!!!
    Muchas gracias
    Hola Irantzu,
    la ventana de alert es un problema de javascript y no PHP. Por ello
    Prefiero darle un OT al sujeto de este posting.
    Ahora bien, si deseas abrir un alerta significando que la operacion que
    has hecho ha sido efectuada solo debes colocar el alert en el sitio
    adecuado. No conozco tu codigo pero creo que el header() redirection de
    PHP nada tiene que ver con tu problema.

    Cuando llegas a la pagina $url que estas redireccionando haz un alert
    via body onload event para que al cargar la pagina muestres primero que
    todo el alerta. Un ejemplo burdo:

    <script>

    function myalert( myMessage ){
    alert( myMessage );
    }
    </script>

    ...Header de HTML

    <body onload="myalert('test')">


    Cuidate de poner este ejemplo en un servidor productivo es solo para
    guiarte. Ahora esto es si lo deseas hacer con JS. Lo mismo puedes hacer
    con PHP haciendo una pagina que te diga lo mismo y mas bonita que el
    alert balurdo.

    Espero te ayude

    Saludos

    Carlos
  • Rolan Benavent at Aug 25, 2008 at 12:05 pm
    Hola Irantzu,
    yo suelo usar esto:

    En el fichero que procesa los datos (el que mete tus comentarios en la BD):

    if([hacer lo que sea])
    {
    $resultado = [codigo que quieras];
    }
    else
    {
    $resultado = [codigo de error que quieras];
    }
    header("Location: ./fichero.php?res=".$ok);


    En el fichero al que se envia el resultado:
    ...
    <?
    $res="";
    if(isset($_GET['res']))
    {
    $res=getMensaje($_GET['res']);
    $res=($res=="")?"":" onload='window.alert(\"".$res."\")'";
    }
    ?>
    <body<?echo $res;?>>
    ...

    la función getMensaje($codigo) la tengo declarada en otro fichero, en el
    cual tengo escritos todos los mensajes, ya sean de error o de ok:

    function getMensaje($codigo)
    {
    if(getConfiguracio("mensa_mostrar_mensajes_ok")=="0" &&
    substr($result,strlen($result)-3,1)=="0"){return "";}
    if(getConfiguracio("mensa_mostrar_mensajes_error")=="0"){return "";}
    $res="";
    switch($codigo)
    {
    case 0: $res="";break;
    case 1: $res="Error: No se ha podido realizar la acción
    solicitada.";break;
    case 2: $res="Acción realizada con éxito.";break;
    case 3: $res="No tienes suficientes permisos para realizar la acción
    solicitada";break;
    case 4: $res="Esta sección tiene el acceso restringido.";break;
    case 5: $res="Configuración seleccionada actualizada con éxito.";break;
    case 6: $res="Error: No se ha podido actualizar la configuración
    seleccionada.";break;
    case 1001: $res="Menú guardado con éxito.";break;
    case 1901: $res="Error: No se ha podido guardar el menú.";break;
    case 1002: $res="El menú padre ha sido actualizado con éxito.";break;
    case 1902: $res="Error: No se ha podido actualizar el menú padre.";break;
    ...
    ...
    ...
    }
    return $res;
    }

    Saludos y espero que te sirva,

    Rolan.



    Carlos Medina escribió:
    irantzu@dosalcubo.net schrieb:
    Hola!!!

    Tengo una página donde se hacen comentarios, pero quiero que justo cuando
    se mete un comentario en la BD, aparezca una ventana diciendo que el
    comentario ha sido introducido correctamente en la BD, el caso es que
    tengo
    un header ("Location: $url"); y creo que me está dando problemas, si hay
    alguien que me pueda ayudar!!!!!
    Muchas gracias
    Hola Irantzu,
    la ventana de alert es un problema de javascript y no PHP. Por ello
    Prefiero darle un OT al sujeto de este posting.
    Ahora bien, si deseas abrir un alerta significando que la operacion que
    has hecho ha sido efectuada solo debes colocar el alert en el sitio
    adecuado. No conozco tu codigo pero creo que el header() redirection de
    PHP nada tiene que ver con tu problema.

    Cuando llegas a la pagina $url que estas redireccionando haz un alert
    via body onload event para que al cargar la pagina muestres primero que
    todo el alerta. Un ejemplo burdo:

    <script>

    function myalert( myMessage ){
    alert( myMessage );
    }
    </script>

    ...Header de HTML

    <body onload="myalert('test')">


    Cuidate de poner este ejemplo en un servidor productivo es solo para
    guiarte. Ahora esto es si lo deseas hacer con JS. Lo mismo puedes hacer
    con PHP haciendo una pagina que te diga lo mismo y mas bonita que el
    alert balurdo.

    Espero te ayude

    Saludos

    Carlos

    --
    Rolan Benavent
    Dulasoft, s.l.
    info@dulasoft.com
    *PCMark3t.com*, tu tienda de informática en internet
    <http://www.pcmark3t.com>
    *Dulasoft.com*: consultoría informática, diseño gráfico, programación de
    páginas web y aplicaciones de software, montaje de redes, formación a
    empresas y particulares... <http://www.dulasoft.com>
  • Camilo Uran at Aug 25, 2008 at 1:05 pm
    Yo lo que haría sería, en la página con el formulario usar un objeto
    xmlHTTPRequest, y realizar una petición POST a la página PHP que procesa el
    comentario, y que dicha página regrese por ejemplo "correcto" si se ha
    metido bien, o "incorrecto" si no se ha metido el comentario correctamente.
    Luego mediante el xmlHttpRequest.responseText podrías ver cuál ha sido el
    resultado de la petición, y de ser "correcto" pues hacer un alert(), y sinó
    pues hacer lo que consideres necesario.
  • Gerardo Benitez at Aug 25, 2008 at 5:23 pm
    Hola, el problema es que despues de insertar, no podes hacer un *echo
    "<script>alert('mensaje')</script>";* y luego el *header('Location:
    $url');*por que te va a protestar al hacer el redireccionamiento.

    Te sugiero, que no hagas el alert en la pagina donde haces el insert, sino,
    mejor pasale un mensaje la página de redireccionamiento, y procesa el
    mensaje ahi.

    ejemplo header('Location: $url?mensaje=insercion');

    [Gerardo Benitez]

    2008/8/25 <irantzu@dosalcubo.net>
    Hola!!!

    Tengo una página donde se hacen comentarios, pero quiero que justo cuando
    se mete un comentario en la BD, aparezca una ventana diciendo que el
    comentario ha sido introducido correctamente en la BD, el caso es que tengo
    un header ("Location: $url"); y creo que me está dando problemas, si hay
    alguien que me pueda ayudar!!!!!
    Muchas gracias



    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
  • Floydiano at Aug 25, 2008 at 5:46 pm
    otra opcion es luego del alert de javascript hacer un redirect con
    Javascript, y no va a dar error el header del PHP

    On Mon, Aug 25, 2008 at 2:23 PM, Gerardo Benitez
    wrote:
    Hola, el problema es que despues de insertar, no podes hacer un *echo
    "<script>alert('mensaje')</script>";* y luego el *header('Location:
    $url');*por que te va a protestar al hacer el redireccionamiento.

    Te sugiero, que no hagas el alert en la pagina donde haces el insert, sino,
    mejor pasale un mensaje la página de redireccionamiento, y procesa el
    mensaje ahi.

    ejemplo header('Location: $url?mensaje=insercion');

    [Gerardo Benitez]

    2008/8/25 <irantzu@dosalcubo.net>
    Hola!!!

    Tengo una página donde se hacen comentarios, pero quiero que justo cuando
    se mete un comentario en la BD, aparezca una ventana diciendo que el
    comentario ha sido introducido correctamente en la BD, el caso es que tengo
    un header ("Location: $url"); y creo que me está dando problemas, si hay
    alguien que me pueda ayudar!!!!!
    Muchas gracias



    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php


    --
    Saludos
    Dante Alejandro Robé
    http://www.floydiano.com.ar
    Cel: 15-5951-7009
    "Set the controls for the heart of the sun"

    http://www.dulcearmonia.com.ar
    http://www.sandrarivero.com.ar
    http://www.exoti-k.com.ar
    http://www.laposadadelvino.com.ar
    http://www.cienciadeportiva.com.ar

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedAug 25, '08 at 9:24a
activeAug 25, '08 at 5:46p
posts6
users6
websitephp.net

People

Translate

site design / logo © 2022 Grokbase