kuba554
20.03.2014, 00:33:40
Witam,
Jestem początkujący i mam pewień problem z formularzem. Napisałem fukcje która sprawdza nr pesel. Fukcja dostaje nr pesel z formularza, wszystko działa dobrze ale chciałbym żeby dane po sprawdzeniu peselu zostaly dalej przekazane metoda post do adresu url. Czy jest jakaś fukcja która to wykonuje albo pomysł jak to zrobić?
Z góry dziękuje i pozdrawiam.
Kshyhoo
20.03.2014, 08:29:02
Przenoszę do Przedszkola.
nospor
20.03.2014, 13:20:49
Cytat
le chciałbym żeby dane po sprawdzeniu peselu zostaly dalej przekazane metoda post do adresu url
Czyli po wyslaniu forma i odebrania go w php i sprawdzeniu PESEL chcesz ten pesel wyslac na zewnetrzna strone postem? No to cURL
Jesli chodzi ci o cos innego, to napisz bardziej zrozumiale
kuba554
20.03.2014, 17:46:30
Jak mam formularz z imieniem, nazwiskiem, peselem itd. chce żeby pesel był tylko odebrany przez php sprawdzony i wszystkie razem dane wysłane do strony URL.
Ps. co to jest cURL?
nospor
20.03.2014, 18:11:20
Dalej nie kumam o co ci chodzi. Wszystko chcesz robic na wlasnej stronie? No to jaki problem? Wysylasz forma, sprawdzasz poprawnosc danych i robisz co chcesz.
Do innej strony? No to pisalem: cURL
http://pl1.php.net/manual/en/book.curl.php
kuba554
20.03.2014, 20:13:02
Ok, a czy jest jakaś inna metoda wysłania danych(peselu) do kodu php oprócz <from action="fukcja.php">?
nospor
20.03.2014, 20:15:25
ajax
in5ane
20.03.2014, 20:55:00
Nie wiem, co Ty chcesz dokładnie zrobić, ale skoro nie możesz sobie poradzić ze zwykłym formularzem, to AJAX na pewno dla Ciebie odpada. Przy użyciu PHP robisz to tak:
<form method="post" action="script.php"> Imię:
<input type="text" name="imie" /><br /> Nazwisko:
<input type="text" name="nazwisko" /><br /> PESEL:
<input type="text" name="pesel" /><br /> <input type="submit" value="Wyślij" />
<?php
if ($_POST)
{
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];
$pesel = $_POST['pesel'];
// w tym momencie masz już wszystkie dane z formularza zapisane w zwykłych zmiennych i możesz z nimi zrobić cokolwiek chcesz (dodać do bazy, wysłać na e-maila itp.)
}
else
{
echo 'Formularz nie został wysłany'; }
kuba554
24.03.2014, 21:46:46
Ok z tym problem co miałem poradziłem już sobie ale niestety pojawił się nastepny, otóż dane z formularza przechodzą do innej strony url dopiero po dwukrotnym kliknięciu(chciałbym żeby dane przechodziły po jednym kliknięciu). Wklejam kawałek kodu żeby to troche było jaśniejsze:
if ((substr($spr, 0, 1)) == $kontrolka)
{
print "<form action=\"https://ssl.dotpay.pl/?pid=I32S47TVNRC6GXCQRN75JNWAI3QWYSSI\" method=\"post\">";
}
else $blad.='Niepoprawny nr PESEL<br>';
in5ane
24.03.2014, 22:13:00
Po takim kawałku kodu nie oczekuj, że ktoś poda Ci rozwiązanie. Poza tym używaj znaczników bbcode, a konkretnie [php].
kuba554
24.03.2014, 22:19:43
<?php
function info($s,$kolor)
{
echo ('<div align="center"><p style="color:'.$kolor.'">'.$s.'</p></div>'); }
if (isset($_POST['pesel'])) {
$spr = 0;
$blad='';
$suma = 0;
$tab = array (1
, 3
, 7
, 9
, 1
, 3
, 7
, 9
, 1
, 3
);
if(strlen($_POST['pesel'])<11
|| strlen($_POST['pesel'])>11
) $blad.='Wprowadzono nieprawidlowa dlugosc nr PESEL<br>'; if(!is_numeric($_POST['pesel'])) $blad.='Niepoprawne znaki w nr PESEL<br>';
for ($i=0; $i < 10; $i++)
{
$suma = $suma + (substr(($_POST['pesel']), $i, 1
) * $tab[$i]); }
$kontrolka = substr(($_POST['pesel']), 10
, 1
); $spr = 10 - ($suma % 10);
if ((substr($spr, 0
, 1
)) == $kontrolka) {
print "<form action=\"https://ssl.dotpay.pl/?pid=I32S47TVNRC6GXCQRN75JNWAI3QWYSSI\" method=\"post\">"; }
else $blad.='Niepoprawny nr PESEL<br>';
if ($blad!='') info($blad, 'red');
}//if isset
?>
in5ane
25.03.2014, 11:50:52
I ostatecznie, co Ci tutaj nie działa? Normalnie jeśli istnieje $_POST['pesel'], to powinien się kod wykonać.
kuba554
25.03.2014, 14:26:55
Kod się wykonuje tylko że po wykonaniu powinna się uruchomić strona dotpay. Uruchamia się ale dopiero za drugim kliknięciem.
Turson
25.03.2014, 14:53:00
kuba554
25.03.2014, 15:52:16
header działa tylko że nie przenosi danych z formularza.
Szymas
25.03.2014, 17:18:55
W header możesz zawsze użyć do przekazania danych tablicy $_GET. Jak podajesz adres w header to powinien on wtedy wyglądać tak:
header("Location: www.example.com/page.php?zmienna=wartosc&zmienna2=wartosc2")
kuba554
25.03.2014, 18:53:23
Nie chiałbym przekazywac tego w $_GET ponieważ troche tych danych jest. Dziwne, troche bo wczesniej ta metoda mi dzialala ale nie mialem tak rozbudowanej funkcji jeszcze. Może ta funkcja jest przeladawana albo co?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.