PHP - Ayuda con formulario

 
Vista:
sin imagen de perfil
Val: 55
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con formulario

Publicado por Nelson (29 intervenciones) el 10/02/2017 22:14:57
Buenas tardes, agradeceria la ayuda estoy aprendiendo PHP, me encuentro haciendo un formulario para intercambio de libros la idea es que el usaurio solo pueda intercambiar como maximo 8 libros y que se pueda distinguir los tipos de usuarios sea empleado, estudiante, egresado o externo, en el momento me encuentro haciendo el condicional de la cantidad de libros pero no me funciona no se si el contador lo estoy utilizando mal,
Gracias por la colaboración,
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
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>
 
<body>
<h1><div align="center"> <font size="5"><b> INGRESE DATOS DE USUARIO </div></h1>
 
<form action="" method= "post" name="datos_usuario" id= "datos_usuario">
 <table width="45%" align="center">
  <tr>
 
     <td>Tipos de Documento</td>
     <td><label for="tipo_documento"></label>
      <select  name="operacion" id="operacion" >
       <option> Cedula de Ciudadania </option>
       <option> Tarjeta de Identidad </option>
       <option> Código Estudiante </option>
       <option> Cedula Extranjeria</option>
       </select>
      </tr>
      <tr>
      <td>N° De Documento</td>
      <td><label for="numero_documento"></label>
      <input type="text" name="numero_documento" id="numero_documento"></td>
      </tr>
      <td>Cantidad de Libros</td>
      <td><label for="cantidad_libros"></label>
      <input type="text" name="cantidad_libros" id="cantidad_libros"></td>
      </tr>
       <td>&nbsp;</td>
       <td>&nbsp;</td>
       </tr>
      <tr>
        <td colspan="2" align="center"><input type="submit" name="Enviando" id="enviando" value="Enviar"></td>
         </tr>
         </table>
         </form>
 
<?php
 
  [i]if(isset($_POST["tipo_documento"])){
	$usuario=$_POST["tipo_documento"];
	$documento=$_POST["numero_documento"];
	$cantidad=$_POST["cantidad_libros"];
	static  $contador=+0;
	$contador++;
	if ($contador<=8){
 
		echo "Puede ingresar al trueque";
 
	}else {
 
		echo "No Puede ingresar al trueque";
	}
 
  }
 
?>
</body>
</html>
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 Alejandro
Val: 551
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con formulario

Publicado por Alejandro (148 intervenciones) el 11/02/2017 01:29:45
Hola Nelson, el problema es que no agregaste el valor del atributo action de la etiqueta form. Si quieres realizar la validación que buscas en a misma pagina podes utilizar $_SERVER['PHP_SELF'] para hacer referencia a la url del archivo actual. Modifique un poco tu codigo,
lo que hice fue utilizar una variable de session en vez de la variable estática y lo separe en 3 archivos.

intercambio_de_libros.php
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
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
<style media="screen">
    .button {
        padding: .5em;
        border: 1px solid steelblue;
        background: steelblue;
        color: #FFF;
        text-transform: uppercase;
        font-size: 1.2rem;
        text-decoration: none;
        display: block;
        margin: 1em auto;
        max-width: 250px;
        text-align: center;
    }
</style>
</head>
 
<body>
<h1><div align="center"> <font size="5"><b> INGRESE DATOS DE USUARIO </b></div></h1>
 
<?php
    if (!isset($_SESSION)): session_start(); endif;
    if (isset($_SESSION['contador']) && $_SESSION['contador'] > 0):
?>
    <a href='nuevo_registro.php' class="button">Nuevo Registro</a>
<?php
    endif;
    if (!isset($_SESSION['contador'])) : $_SESSION['contador'] = 0; endif;
    if ($_SESSION['contador'] <= 8):
?>
    <form action="procesar.php" method= "POST" name="datos_usuario" id= "datos_usuario">
    <table width="45%" align="center">
    <tr>
 
    <td>Tipos de Documento</td>
    <td><label for="tipo_documento"></label>
    <select name="operacion" id="operacion">
    <option> Cedula de Ciudadania </option>
    <option> Tarjeta de Identidad </option>
    <option> Código Estudiante </option>
    <option> Cedula Extranjeria</option>
    </select>
    </tr>
    <tr>
    <td>N° De Documento</td>
    <td><label for="numero_documento"></label>
    <input type="text" name="numero_documento" id="numero_documento"></td>
    </tr>
    <td>Cantidad de Libros</td>
    <td><label for="cantidad_libros"></label>
    <input type="text" name="cantidad_libros" id="cantidad_libros"></td>
    </tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td colspan="2" align="center"><input type="submit" name="Enviando" id="enviando" value="Enviar"></td>
    <td colspan="2" align="center"></td>
    </tr>
    </table>
    </form>
<?php endif ?>
</body>
</html>


procesar.php

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
<?php
 
    if (isset($_POST["numero_documento"])) {
        // En esta seccion se validarian los datos ...
        $usuario   = $_POST["operacion"];
        $documento = $_POST["numero_documento"];
        $cantidad  = $_POST["cantidad_libros"];
 
        echo "USUARIO: ".$usuario."<br>";
        echo "DOCUMENTO: ".$documento."<br>";
        echo "CANTIDAD: ".$cantidad."<br>";
 
        if (!isset($_SESSION)) {
            session_start();
        }
 
        // incremento el contador
        if (isset($_SESSION['contador'])) {
            if ($_SESSION['contador'] < 8) {
                $_SESSION['contador'] += 1;
                echo "Puede ingresar al trueque</br>";
            } else if ($_SESSION['contador'] >= 8) {
                echo "No Puede ingresar al trueque<br>";
            }
        } else {
            $_SESSION['contador'] = 1;
        }
        echo "<h2>CONTADOR: ".$_SESSION['contador']."</h2>";
    } else {
        echo "Existen campos sin completar";
    }
 
    // cambiar el nombre del archivo por el tuyo...
    echo "<a href='intercambio_de_libros.php'>Volver al INICIO</a>";

Nuevo Registro
1
2
3
4
5
6
7
8
9
10
<?php
 
    if (!isset($_SESSION)) {
        session_start();
    }
 
    session_destroy();
 
    // cambiar el nombre del archivo por el tuyo...
    header('Location: intercambio_de_libros.php');

No se si es lo que estas buscando hacer, pero no comentas si te sirvio.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 55
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con formulario

Publicado por Nelson (29 intervenciones) el 13/02/2017 13:38:31
Bueno días Alejandro gracias por tu colaboración, efectivamente asi me funciona,
Tengo una duda como hago para que cuando un usuario x me vaya acumulando los libros que el va intercambiado de manere que cuando lleve 8 libros intercambiados el sistema me saque un mensaje de este usuario ya no puede intervambiar mas libros,
te agradesco la colaboración,
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