Duda con ejercicios principiante en PHP

  • Autor Autor Baxte
  • Fecha de inicio Fecha de inicio
Baxte

Baxte

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas tardes soy un usuario principiante en PHP que está aprendiendo poco a poco en la escuela y tengo dificultades para resolver ciertos ejercicios si me pudieran ayudar a comprenderlos sería de agradecer.

1.Crea un script que, tras haber solicitado al usuario un número natural n (entre 3 y 6), le pida esa cantidad de enteros y muestre cuántos de ellos han sido positivos, cuántos negativos y cuántos cero. NO UTILIZAR ESTRUCTURAS DE ALMACENAMIENTO (arrays, listas, …).

2. Crea un script que, habiendo solicitado un número natural n al usuario, muestre por pantalla los cinco primeros números impares que sean mayores que n y múltiplos de tres.

1. Aquí os muestro el código de lo que tengo del primero, que por lo que entiendo son 3 paginas independientes:

Index.php
Insertar CODE, HTML o PHP:
			<form action="resultado.php" method="POST">
				<h1>
					Ejercicio 3:
				</h1>
				<p>
					Crea un script que, tras haber solicitado al usuario un número natural n (entre 3 y 6), le pida esa cantidad de enteros y muestre cuántos de ellos han sido positivos, cuántos negativos y cuántos cero. NO UTILIZAR ESTRUCTURAS DE ALMACENAMIENTO (arrays, listas, …).
				</p>
				<p>
					Introduce la cantidad de números a mostrar: <input type="text" name="numero" />
				<p>
					<input type="submit" name="Mostrar números" value="Mostrar números"/>
				</p>

			</form>

resultado.php
Insertar CODE, HTML o PHP:
<form action="numeros.php" method="POST">
            <?php
				$numero = $_POST['numero'];
				
				for ($i=1; $i<=$numero;$i++){
					?><input type="text" name="n++"><?php
				}
				?>
			<input type="submit" value="Enviar"/>
		</form>

Eso es lo que tengo hasta ahora del primero y no se como hacer que la variable input su name se incremente para poder obtener de ella a traves de $_POST.

Y con el segundo ejercicio no se de que manera plantearlo la verdad es que estoy un poco liado y me cuesta entender php, también si me podríais recomendar alguna que otra guía o tutoriales sería de agradecer.

Un saludo. :sonrisa:
 
Hola

Creo que la idea la tienes bien, en resultado.php solo agregaría una campo escondido para saber la cantidad inicial, para usarlo en el segundo resultado o numeros.php

PHP:
<form action="numeros.php" method="POST">
            <?php
				$numero = $_POST['numero'];
				
				for ($i=1; $i<=$numero;$i++){
					?><input type="number" name="num-<?=$i?>"><?php
				}
				?>
                           <input type="hidden" name="cantidad" value="<?=$numero?>">
			<input type="submit" value="Enviar"/>
		</form>

numeros.php

PHP:
<?php
$numero = $_POST['cantidad'];
$num_env="";
                                for ($i=1; $i<=$numero;$i++){
$nombre_env='num-'.$i;
$num_env=$_POST[$nombre_env]
if ($num_env>0)
{
echo "Es positovo";
}
else
.
.
.
					?>
<?php
				}
 
Última edición:
Hola

Creo que la idea la tienes bien, en resultado.php solo agregaría una campo escondido para saber la cantidad inicial, para usarlo en el segundo resultado o numeros.php

PHP:
<form action="https://forobeta.com/numeros.php" method="POST">
            <?php
				$numero = $_POST['numero'];
				
				for ($i=1; $i<=$numero;$i++){
					?><input type="number" name="num-<?=$i?>"><?php
				}
				?>
                           <input type="hidden" name="cantidad" value="<?=$numero?>">
			<input type="submit" value="Enviar"/>
		</form>

numeros.php

PHP:
<?php
$numero = $_POST['cantidad'];
$num_env="";
                                for ($i=1; $i<=$numero;$i++){
$nombre_env='num-'.$i;
$num_env=$_POST[$nombre_env]
if ($num_env>0)
{
echo "Es positovo";
}
else
.
.
.
					?>
<?php
				}
Genial muchas gracias por tu ayuda, he conseguido resolver el primer ejercicio y lo he planteado tal que así:

index.php
PHP:
<form action="resultado.php" method="POST">
				<h1>
					Ejercicio 3:
				</h1>
				<p>
					Crea un script que, tras haber solicitado al usuario un número natural n (entre 3 y 6), le pida esa cantidad de enteros y muestre cuántos de ellos han sido positivos, cuántos negativos y cuántos cero. NO UTILIZAR ESTRUCTURAS DE ALMACENAMIENTO (arrays, listas, …).
				</p>
				<p>
					Introduce la cantidad de números a mostrar: <input type="text" name="numero" />
				<p>
					<input type="submit" name="Mostrar números" value="Mostrar números"/>
				</p>

			</form>

resultado.php
PHP:
	<form action="resultado2.php" method="POST">
            <?php
                $numero = $_POST['numero'];
                
                for ($i=1; $i<=$numero;$i++){
                    ?><input type="number" name="num-<?=$i?>"><?php
                }
                ?>
                           <input type="hidden" name="cantidad" value="<?=$numero?>">
            <input type="submit" value="Enviar"/>
        </form>

resultado2.php
PHP:
			<?php
			$numero = $_POST['cantidad'];
			$num_env="";
			$positivos = 0;
			$negativos = 0;
			$cero = 0;
			
			for ($i=1; $i<=$numero;$i++){
			$nombre_env='num-'.$i;
			$num_env=$_POST[$nombre_env];
			if ($num_env>0)
			{
				echo "<br/>".$num_env." Es positivo";
				$positivos++;
			}
			else if ($num_env<0)
			{
				echo "<br/>".$num_env." Es negativo";
				$negativos++;
			}
			else
			{
				echo "<br/>".$num_env." Es igual a 0";
				$cero++;
			}
			
		}
			echo "<br/> Números positivos: ".+$positivos.".";
			echo "<br/> Números negativos: ".+$negativos.".";
			echo "<br/> Numeros igual a 0: ".+$cero.".";
			?>


Ahora solo me faltaría resolver el segundo que voy a intentar resolverlo ^^. Muchas gracias por tu ayuda
 
El segundo ejercicio es muy parecido

Si necesitas ayuda, me avisas.
 
Bueno como complemento también validar el numero que tiene que ser mayor o igual que 3 y menor o igual que 6.

if(!cumple condicion){
exit("el numero debe estar entre 3 y 6");
}
 
Atrás
Arriba