Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Enviado con exito

Estas en el tema de Enviado con exito en el foro de PHP en Foros del Web. Como podría poner un mensaje de formulario enviado con éxito y que me mande a otra pagina una vez enviado los datos a la BD.. ...
  #1 (permalink)  
Antiguo 28/02/2014, 04:30
 
Fecha de Ingreso: febrero-2014
Ubicación: Murcia
Mensajes: 119
Antigüedad: 10 años, 2 meses
Puntos: 0
Enviado con exito

Como podría poner un mensaje de formulario enviado con éxito y que me mande a otra pagina una vez enviado los datos a la BD..

Tengo este código en la misma pagina

Código PHP:
<FORM class="contact_form" ACTION="/v1.0/alta.php" id="contact_form" enctype="multipart/form-data"  method="post">
        <div>
            <ul>
                
                <li>
                  <label for="LG_cmNew">Local / Grupo:</label>
                    <input id="LG_cmNew" name="LG_cmNew" maxlength="50" type="text" placeholder="CrazyMurcia" required  />
              </li>
               <li>
                 <label for="Logo_cmNew" class="required">Logo Local / Grupo:</label>
<input type="file" name="Logo_cmNew" id="Logo_cmNew"  maxlength="150" class=" input"/>
              </li>
                
              <li>
                    <button class="submit" type="submit">Solicitar Alta</button>
                </li>
            </ul>
        </div>
    </form>




<?php   
include("conex.php");  
$link=Conectarse();    

$LG_cmNew=$_POST['LG_cmNew'];  



$dir "carpeta"//recuerda que debe tener permisos de escritura ;)   
$ext = array('image/jpeg''image/gif''image/png''image/bmp'); //Puedes agregar más extenciones   
    
foreach($_FILES as $archivo) {   
        
$attachtmp  $archivo['tmp_name'];   
        
$attachtype $archivo['type'];   
        
$attachname $archivo['name'];   
        if(
file_exists($attachtmp)) {   
            if(
is_uploaded_file($attachtmp)) {   
                if(
in_array($attachtype,$ext)) {   
                    
$ruta move_uploaded_file($attachtmp"$dir/$attachname");  
                    
mysql_query("INSERT INTO tabla (id, LG_cmNew, Logo_cmNew) VALUES ('','$LG_cmNew','$attachname')" ,$link) or die(mysql_error());   

echo 
"<br>Datos enviado con éxito<br>";

header("Location: otrapagina.php"); 
}
                } else {   
                    echo 
"Esto no es una imagen";   
                }   
            }   
        }   
    }   
?>
No consigo hacerlo funcionar así... si le quito el

Código PHP:
echo "<br>Datos enviado con éxito<br>";

header("Location: otrapagina.php"); 

Inserta los datos pero me deja en el formulario otra vez y no sabes si a abido algun error o se ha subido correctamente a la BD, a no ser que accedas a la BD a verlo o agas una consulta de esos datos..
  #2 (permalink)  
Antiguo 28/02/2014, 04:42
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Enviado con exito

Cambia el orden....

Primero la lógica de php, luego el html...

El header solo puedes usarlo si antes no has mostrado nada en pantalla ;)

PD: Las funciones mysql_* no deberias usarlas, intenta usar mysqli_* o PDO
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 28/02/2014, 04:48
 
Fecha de Ingreso: febrero-2014
Ubicación: Murcia
Mensajes: 119
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Enviado con exito

De esta manera entonces: Pero como podría hacerlo para que si se envia correctamente no me lleve nuevamente al formulario y me de el mensaje de enviado correctamente?

Código PHP:
<?php    
include("conexion.php");   
$link=Conectarse();     

$LG_cmNew=$_POST['LG_cmNew'];   



$dir "carpeta"//recuerda que debe tener permisos de escritura ;)    
$ext = array('image/jpeg''image/gif''image/png''image/bmp'); //Puedes agregar más extenciones    
    
foreach($_FILES as $archivo) {    
        
$attachtmp  $archivo['tmp_name'];    
        
$attachtype $archivo['type'];    
        
$attachname $archivo['name'];    
        if(
file_exists($attachtmp)) {    
            if(
is_uploaded_file($attachtmp)) {    
                if(
in_array($attachtype,$ext)) {    
                    
$ruta move_uploaded_file($attachtmp"$dir/$attachname");   
                    
mysqli_query("INSERT INTO tabla (id, LG_cmNew, Logo_cmNew) VALUES ('','$LG_cmNew','$attachname')" ,$link) or die(mysqli_error());    

echo 
"<br>Datos enviado con éxito<br>"


                } else {    
                    echo 
"Esto no es una imagen";    
                }    
            }    
        }    
    }    
?>
  #4 (permalink)  
Antiguo 28/02/2014, 06:30
 
Fecha de Ingreso: febrero-2014
Ubicación: Murcia
Mensajes: 119
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Enviado con exito

Perdón me equivoque al ponerlo en mysqli

Código PHP:
<?php     
include("conexion.php");    
$link=Conectarse();      

$LG_cmNew=$_POST['LG_cmNew'];    



$dir "carpeta"
$ext = array('image/jpeg''image/gif''image/png''image/bmp');     
    foreach(
$_FILES as $archivo) {     
        
$attachtmp  $archivo['tmp_name'];     
        
$attachtype $archivo['type'];     
        
$attachname $archivo['name'];     
        if(
file_exists($attachtmp)) {     
            if(
is_uploaded_file($attachtmp)) {     
                if(
in_array($attachtype,$ext)) {     
                    
$ruta move_uploaded_file($attachtmp"$dir/$attachname");    
                    
mysqli_query($link"INSERT INTO tabla (id, LG_cmNew, Logo_cmNew) VALUES ('','$LG_cmNew','$attachname')") or die(mysqli_error());     

echo 
"<br>Datos enviado con éxito<br>";  

}  
                } else {     
                    echo 
"Esto no es una imagen";     
                }     
            }     
        }     
    }     
?>
y el include conexion.php tengo:

Código PHP:
<?php
$link 
mysqli_connect("localhost""mi_usuario" "mi_password" "la_BD"); 
mysqli_select_db$link"la_BD" );
mysqli_close($link);
?>

O estoy haciendo algo mal?

Última edición por RaulCDT; 28/02/2014 a las 06:40

Etiquetas: enviado, exito, formulario, mysql, sql, tabla
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 10:28.