• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP używanie zmiennych przesłanych z formularza w funkcji

–1 głos
245 wizyt
pytanie zadane 10 sierpnia 2016 w PHP przez Wojciech Król Nowicjusz (220 p.)

 

PHP

<?php
$podany_pesel = $_POST['podaj_pesel'];
	function pesel($cyfry) {
 

 echo $cyfry;
	}


	echo	"Urodzony/a:".substr($podany_pesel,0,6)."<br>";
	echo "Rok:".substr($podany_pesel,0,2)."<br>";
	echo "Miesiąc:".substr($podany_pesel,2,2)."<br>";
	echo "Dzień:".substr($podany_pesel,4,2)."<br>";

 if($podany_pesel[10]%2) echo "Płeć: Kobieta"; else echo "Płeć: Mężczyzna";

?>

HTML

<form action="pesel.php" method="post">
<input type="text" name="podaj_pesel" maxlength='11'/>
<input type="submit" name="wyslij" value="Wyślij"/>
<form>

 

Nie wiej jak użyć zmiennej przesłanej z formularza w innym pliku w funkcji PHP, moglibyście mi wytłumaczyć na czym polega błąd?

Chciałbym mieć wszystkie echo w funkcji i na końcu ją wywołać, ale wyskakuje mi błąd:

Undefined variable: podany_pesel

Z góry dziękuję.

 

 

komentarz 10 sierpnia 2016 przez Vento Pasjonat (17,120 p.)

U mnie wszystko działa. Skopiowane z Twojej wklejki. Opisz dokładniej jaki błąd Ci wyskakuje. 

 

komentarz 10 sierpnia 2016 przez Wojciech Król Nowicjusz (220 p.)

A wszystkie echo i if były w środku funkcji, a sama funkcja została wywołana

pesel($podany_pesel);

<?php
$podany_pesel = $_POST['podaj_pesel'];
    function pesel($cyfry) {
 
  echo    "Urodzony/a:".substr($podany_pesel,0,6)."<br>";
    echo "Rok:".substr($podany_pesel,0,2)."<br>";
    echo "Miesiąc:".substr($podany_pesel,2,2)."<br>";
    echo "Dzień:".substr($podany_pesel,4,2)."<br>";
 
 if($podany_pesel[10]%2) echo "Płeć: Kobieta"; else echo "Płeć: Mężczyzna"; 
 
 echo $cyfry;
    }
 
 pesel($podany_pesel);
  
 
?>

Tak chciałem, żeby to wyglądało, ale wtedy wyskakuje mi błąd:  Undefined variable: podany_pesel

1 odpowiedź

+2 głosów
odpowiedź 10 sierpnia 2016 przez Vento Pasjonat (17,120 p.)
wybrane 11 sierpnia 2016 przez Wojciech Król
 
Najlepsza

Funkcja nie wie co to jest za zmienna $podany_pesel, ponieważ jest zadeklarowana na zewnątrz funkcji.

Musisz zmienić nazwy zmiennej z $podany_pesel na $cyfry wewnątrz funkcji.

Poprawiony kod:

<?php
$podany_pesel = $_POST['podaj_pesel'];
    function pesel($cyfry) {
  
  echo    "Urodzony/a:".substr($cyfry,0,6)."<br>";
    echo "Rok:".substr($cyfry,0,2)."<br>";
    echo "Miesiąc:".substr($cyfry,2,2)."<br>";
    echo "Dzień:".substr($cyfry,4,2)."<br>";
  
 if($cyfry[10]%2) echo "Płeć: Kobieta"; else echo "Płeć: Mężczyzna"; 
  
 echo $cyfry;
    }
  
 pesel($podany_pesel);
   
  
?>

 

komentarz 10 sierpnia 2016 przez Wojciech Król Nowicjusz (220 p.)
Wielkie dzięki za proste wytłumaczenie :D

Podobne pytania

–5 głosów
1 odpowiedź 281 wizyt
pytanie zadane 16 maja 2017 w C i C++ przez KacperKow Nowicjusz (180 p.)
0 głosów
1 odpowiedź 295 wizyt
0 głosów
1 odpowiedź 383 wizyt
pytanie zadane 12 lipca 2017 w C# przez Dofosh Obywatel (1,480 p.)

93,604 zapytań

142,528 odpowiedzi

322,995 komentarzy

63,090 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...