Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pomoc] Generator


Rekomendowane odpowiedzi

Opublikowano

Witam

Chciałbym zrobić następujący generator:

 

Na głównej stronie są 2 pola tekstowe, w które wpisywałoby się dowolną liczbę.

 

Po naciśnięciu przycisku "Dalej" wyświetliłyby się pola tekstowe, jeden pod drugim.

Byłyby podzielone na 2 grupy.

Liczba tych pól byłaby równa liczbie wpisanej na głównej stronie w pierwszym polu.

Liczba pól w drugiej grupie byłaby równa liczbie wpisanej na stronie głównej w drugim polu.

 

Mniej więcej tak miałoby to wyglądać:

 

Strona główna:

 

 

1png_naawhwe.png

 

 

 

 

Strona nr 2:

 

 

2png_naawhws.png

 

 

 

 

 

Oto jakie kod na stronę główną:

 

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>


<form id="form1" name="form1" method="post" action="index2.php">
<input size="30" type="text" name="numer" placeholder="liczba pol 1" required /><br/>
<input size="30" type="text" name="numer2" placeholder="liczba pol 2" required /><br/>
<input type="submit" value="Generuj!" />
</form>


       
    </body>
</html>

 

 

 

 

A to na stronę nr 2:

 

 

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
 <form id="form1" name="form1" method="post" action="index.php">
		    <table border ="0" cellpadding="5">
               
        <?php
		
if(!empty($_POST["numer"]) & !empty($_POST["numer2"])) {
		echo "Pole 1:";
        $numer=$_POST['numer'];
        if(!$numer) { $numer=0; }
        
        for ($x=0 ; $x<$numer; $x++){
         $nazwa = "pole$x";
         $wartosc=$_POST["$nazwa"];
		 
         echo  "<tr> \n  <td><input name='$nazwa' type='text' value='$wartosc' /></td> \n";
         }
		 $numer = $numer+1;
        
		echo "Pole 2:";
		$numer2=$_POST['numer2'];
        if(!$numer2) { $numer2=0; }
        
        for ($x=0 ; $x<$numer2; $x++){
         $nazwa = "pole2$x";
         $wartosc=$_POST["$nazwa"];
		  
         echo  "<tr> \n  <td><input name='$nazwa' type='text' value='$wartosc' /></td> \n";
         }
         $numer2 = $numer2+1;
}        
		
		?>
      </table>
     </form>
	        
    </body>
</html>

 

 

 

 

Pierwsza strona wygląda elegancko, ale na drugiej są błędy:

 

 

 

1png_naaqrhr.png

 

 

 

 

 

Bardzo bym prosił o wskazanie oraz korektę błędów, jestem baardzo początkujący i nie łapię jeszcze tego tak dobrze.

 

Nagrodzę mnóstwem +

Opublikowano

co to jest?

 $wartosc=$_POST["$nazwa"];

próbujesz wysyłać metodą post zmienna nazwa którą linijke wcześniej deklarujesz. usuń to a w value zmieniasz z $wartosc -> $nazwa.

$numer2 = $numer2+1;

to też jest nie potrzebne. inkrementacje w pętli for robisz już w trzecim argumencie " $x++" więc to ci nie jest potrzebne.

 

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title></title>
	</head>
	<body>
		<form id="form1" name="form1" method="post" action="index.php">
			<table border="1" cellpadding="5">
				<?php
				if(empty($_POST["numer"]) or empty($_POST["numer2"])) 
				{
					echo "Pole 1:";
					$ile=$_POST['numer'];

					for ($x=0 ; $x<=$ile; $x++)
					{
						$nazwa = 'pole'.$x;
						echo  "<tr><td><input type='text' name='$nazwa' value='$nazwa'></td></tr>";
					}
					echo "Pole 2:";
					$ile2=$_POST['numer2'];
					for ($y=0 ; $y<$ile2; $y++)
					{
						$nazwa2 = 'pole2'.$y;
						echo  "<tr><td><input type='text' name='$nazwa2' value='$nazwa2'></td></tr>";
					}
				}        
				else echo'uzupełnij formularz';
				?>
			</table>
		</form>
	</body>
</html> 

 

 

Osobiście pomagam tylko na PW lub e-mail


-----------------------------------------------------------------


https://github.com/smietanka

Opublikowano

Użyłem Twojego kodu i niestety ale nie wyświetla mi żadnych pól tylko napis "uzupełnij formularz" i nic więcej.

Opublikowano

to znaczy ze nie wysyłasz nic postem "numer i numer2" czyli nie uzupełniasz tamtego formularza gdzie powinienes wpisać liczbe tych dwóch pól

Osobiście pomagam tylko na PW lub e-mail


-----------------------------------------------------------------


https://github.com/smietanka

Opublikowano

do index.php wklej to:

<!DOCTYPE  html>
<?php
	if(isset($_POST['send2']))
	{
		$iile_1 = count($_POST['pole_1_']);
		$iile_2 = count($_POST['pole_2_']);
		
		echo'W pierwszym polu są: '.$iile_1.' elementy, za to w drugim jest: '.$iile_2.'<br><hr>';
		
		echo'Dane z pierwszego pola<br>';
		foreach($_POST['pole_1_'] as $pole1)
		{
			echo $pole1.'<br>';
		}
		echo'<hr>Dane z drugiego pola<br>';
		foreach($_POST['pole_2_'] as $pole2)
		{
			echo $pole2.'<br>';
		}
	}
	else
	{
		if(isset($_POST['send']))
		{
			//jesli wyslano pierwszy formularz to wykonaj skrypt w przeciwnym wypadku pokaz formularz
			if(empty($_POST['ile_1']) or empty($_POST['ile_2']))
			{
				echo'Uzupełnij formularz. <a href="index.php">Cofnij do formularza.</a>';
			}
			else
			{
				$ile_1 = $_POST['ile_1'];
				$ile_2 = $_POST['ile_2'];
				echo'Pola do pierwszego:<br>';
				echo'<form method="post" action="">';
				for($i=0;$i<$ile_1;$i++)
				{
					echo'<input type="text" name="pole_1_['.$i.']" placeholder="Wpisz coś"><br>';
				}
				echo'Pola do drugiego:<br>';
				for($i=0;$i<$ile_2;$i++)
				{
					echo'<input type="text" name="pole_2_['.$i.']" placeholder="Wpisz coś"><br>';
				}
				echo'<input type="submit" name="send2" value="wyślij">';
				echo'</form>';
			}
		}
		else
		{
			//wyswietl formularz jesli nie zostalo wyslane
			echo'
				<form method="post" action="">
					Podaj liczbę pól w pierwszym <input type="number" name="ile_1" placeholder="Wpisz numer do pierwszego pola"><br>
					Podaj liczbę pól w drugim <input type="number" name="ile_2" placeholder="Wpisz numer do drugiego pola"><br>
					<input type="submit" name="send" value="Wyślij">
				</form>
				';
		}
	}
?>

i powinno działać

Osobiście pomagam tylko na PW lub e-mail


-----------------------------------------------------------------


https://github.com/smietanka

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...