PHP - enviar datos metodo post de un formulario a otro pevio a una consulta

 
Vista:

enviar datos metodo post de un formulario a otro pevio a una consulta

Publicado por luis (4 intervenciones) el 18/09/2018 18:14:59
buen día, primero les aclaro que no tengo mucho tiempo programando pero ya hay algunas cosas que domino.. les agradecería una ayuda de su parte por que se que en este foro hay muy buenos programadores.. les cuento.. tengo un formulario donde ingreso el nombre de usuario valido que exista ese usuario y monto la información requerida en en otro formulario para su modificación hasta allí todo bien, la cuestion esta que cuando el usuario modifica los campos y presiona modificar se llama otro formulario que es donde esta el update pero le he colocado una validacion para una vez que se presione modificar realize otra busqueda y evite que el usuario que el el nombre de usuario nuevo que colo no este en uso y no me lo duplique .... si esto ocurre le colo que un js que me retorne history.back ... pero como al formulario que me redirecciona recibe la informacion del otro formulario que esta mas tras pues me da error.. ya explicado lo que quiero es que cuando le diga modificar y no cummpla con la validacion me retorne al formulario con los datos que previamente me habia traido en la consulta... e visto por alli que hblan de usar las variables de session pero lo e intentado y no lo e podido hacer, otra cosa con el metodo get me funciona pero no quiero que la informacion se envie por la url debido a la seguridad etc ect, no se si escribe mas de lo debido o no me explique bien cualquier ayuda bienvenida amigos ..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

enviar datos metodo post de un formulario a otro pevio a una consulta

Publicado por Mauro (1036 intervenciones) el 18/09/2018 23:12:36
Sin ver el código es un poco difícil, pero por lo que dices, pienso que podrías cambiar el
1
history.back()
por una redirección http a la página donde se genera el formulario original.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

enviar datos metodo post de un formulario a otro pevio a una consulta

Publicado por luis (4 intervenciones) el 20/09/2018 17:10:06
disculpa la tardanza aca te dejo el codigo: este es el formulario que muestra los valores si el usuario existe..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<script type="text/javascript">
function cerrar() {
 
	if (confirm('Esta seguro de Finalizar la Sesión?')==true) {
 
	    return true;
	}else{
	    //alert('Cancelo la eliminacion');
	    return false;
	}
}
</script>
<?php
 
 
session_start();
 
$varsesion=$_SESSION['usuario'];
 
 
 
if ($varsesion['tipo_usuario']=='usuario'){
 
   echo"<script type=\"text/javascript\">alert('Usted no Tiene Autorizacion!'); window.location='panel-blog.php';</script>";
    die();
 
}else if ($varsesion['tipo_usuario']=='admin'){
    header("");
 
} else if ($varsesion== null || $varsesion==''){
    echo"<script type=\"text/javascript\">alert('Debe Iniciar Sessi\u00F3n!'); window.location='login1.php';</script>";
    die();
}
 
?>
 
<!DOCTYPE html>
<html lang="es">
 
    <head>
 
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>Global Vision</title>
        <meta name="description" content="Una guía interactiva de primeros pasos para Brackets.">
       <link rel="stylesheet" href="css/estilocontacto.css">
        <link rel="stylesheet" href="css/estilomenu.css">
         <link rel="stylesheet" href="css/menunuevo.css">
       <link rel="stylesheet" href="css/fontello.css">
      <link rel="stylesheet" href="css/usuario.css">
       <script src="js/jquery-3.3.1.min.js"></script>
    </head>
    <body>
 
    <header>
        <div class="contenedor">
            <h1 class="icon-globe-inv">Global Vision</h1>
            <input type="checkbox" id="menu-bar">
            <label class="icon-menu-outline" for="menu-bar"></label>
            <nav class="menu">
 
                <ul>
                    <li class="active"><a href="index.html">Inicio</a></li>
                  <!--  <li><a href="#">Perfil</a></li>-->
                    <li class="submenu"><a href="#">Servicios<span class="icon-down-open"></span></a>
                  <ul>
                        <li><a href="web.html">Diseño Web</a></li>
                        <li><a href="menusesgado.html">Diseño Grafico</a></li>
                        <li><a href="informatica.html">Consultoría</a></li>
                        <li><a href="#">Ventas</a></li>
                    </ul>
                    </li>
                    <li><a href="nosotros.php">Nosotros</a></li>
                    <li><a href="mostrar_blog.php">Blog</a></li>
                    <li><a href="contacto.php">Contactanos</a></li>
                </ul>
            </nav>
        </div>
    </header>
 
 <?php
 
    $conexion=mysqli_connect("localhost","root","","dbblog") or
        die("Problemas con la conexión");
 
    $registros=mysqli_query($conexion,"select * from usuarios
                            where usuario='$_REQUEST[usuario]'") or
      die("Problemas en el select:".mysqli_error($conexion));
    if  ($reg=mysqli_fetch_array($registros))
    {
        ?>
 
  <form action="validar-update.php" method="post" class="form" autocomplete="off" >
        <a href="consulta-usuario.php">
        <img src="iconos/usuario.png" onclick="alert('!Regresar al Formulario de Busqueda')">
        </a>
        <h2>Actualizar Web Master</h2>
        <label>Usuario</label>
        <input type="text" placeholder="&#10148; Usuario" name="usuarionuevo" value="<?php echo $reg['usuario'] ?>" required>
       <input type="hidden" placeholder="&#10148; Usuario" name="usuarioviejo" value="<?php echo $reg['usuario'] ?>">
       <label>Clave</label>
        <input type="text" placeholder="&#10148; Clave" name="clavenueva" value="<?php echo $reg['clave'] ?>" required>
       <input type="hidden" placeholder="&#10148; Clave" name="clavevieja" value="<?php echo $reg['clave'] ?>">
        <label>Usuario Actual</label>
         <input type="text" placeholder="&#10148; Tipo de Usuario" name="tipo" value="<?php echo $reg['tipo_usuario'] ?>" readonly>
          <div class="combo">
           <label>Nuevo Tipo de Usuario</label>
            <select name="operacion" id="seleccion">
                <option value="opcion">--Seleccione una Opcion--</option>
                   <!-- <option value="tipo"> </option> -->
                   <option value="admin">Administrador</option>
                    <option value="usuario">Usuario</option>
 
            </select>
        </div>
        <div class="botones">
 
        <input type="submit" value="Modificar" name="consultar" >
 
 
        <input type="reset" value="Cancelar" name="cancelar">
 
        <?php
    }
    else
 
        echo"<script type=\"text/javascript\">alert('El Ususario No Existe'); window.location='consulta-usuario.php';</script>";
 
        ?>
 
        </div>
 
        <div class="mensaje">
 
          <?php
 
            ?>
        </div>
    </form>
 
    <div class="confirmar">
 
        </div>
 
 
         <div class="contenedor">
 
  </div>
<footer>
    <div class="contenedor">
        <p class="copy">Global Vision &copy;2018
 
        </p>
 
         <p class="icon-mail">Email:#####</p>
         <p class="icon-phone">Telefono:####</p>
         <p class="icon-location">Direccion:####</p> 
 
         <hr>
 
         <div class="sociales">
      <!--   <h7>Sociales</h7> -->
         <a href="#">
          <img src="iconos/facebook.svg">
          </a>
          <h8>Facebook</h8>
          <a href="#">
          <img src="iconos/twitter.svg">
        </a>
        <h8>Twitter</h8>
        <a href="#">
           <img src="iconos/instagram.ico">
 
        </a>
        <h8>Instagram</h8>
        <a href="cerrar-sesion.php">
           <img src="iconos/llave-pequena.png" onclick='return cerrar()'>
        </a>
        <h7>Cerrar Sesión</h7>
         </div>
     </div>
</footer>
 
    <script src="js/form.js"></script>
    <script src="js/menu.js"></script>
    </body>
 
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

enviar datos metodo post de un formulario a otro pevio a una consulta

Publicado por luis (4 intervenciones) el 20/09/2018 17:13:10
aca te dejo el forulario que reliza la otra busqueda para evitar que el usuario que se modifique ya este en uso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$conexion=mysqli_connect("localhost","root","","dbblog") or
    die("Problemas con la conexión");
 
$registros=mysqli_query($conexion,"select * from usuarios
    where usuario='$_REQUEST[usuarionuevo]'") or
    die("Problemas en el select:".mysqli_error($conexion));
if ($reg=mysqli_fetch_array($registros))
{
 
    echo"<script type=\"text/javascript\">alert('Ese Nombre de Usuario ya esta en Uso'); window.history.back(-1);</script>";
    echo ""
}
else{
    include("update-usuario.php");
}
 
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

enviar datos metodo post de un formulario a otro pevio a una consulta

Publicado por Mauro (1036 intervenciones) el 21/09/2018 13:52:50
Bien. Para empezar, te diría que uses PDO en lugar de mysqli.

Especialmente para evitar problemas como inyección SQL. Te dejo más info acá.

Otra cosa que te podría ser útil es poner el campo usuario como único a nivel de la base de datos (Esto no te va a solucionar el problema, pero al menos va a prevenir que por algún error aparezcan usuarios duplicados).

El tema de guardar en sesión podría ser una solución.

La idea sería:

1 - Hacer que el formulario use el método POST en lugar de GET (De esa forma los datos van algo más protegidos)
2 - En el php que recibe el formulario tomar todas las variables y pasarlas a variables de sesión (Algo como $_SESSION['usuario'] = $_POST['usuario'])
3 - A partir de ahí, esas variables estarán disponibles para cualquier script posterior hasta que las saques
4 - Después de hacer el update haces una llamada a la función unset para no dejar datos inútiles dando vueltas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

enviar datos metodo post de un formulario a otro pevio a una consulta

Publicado por luis (4 intervenciones) el 21/09/2018 17:53:52
gracias por tu pronta respuesta logre solucionarlo con las variables de session siguiendo tus recomendaciones ..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

enviar datos metodo post de un formulario a otro pevio a una consulta

Publicado por Mauro (1036 intervenciones) el 24/09/2018 16:26:31
Genial! Si te puedo ayudar con algo más, estoy a sólo un twit de distancia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar