formularze php.TXT

(5 KB) Pobierz
-odbieranie i przetwarzanie danych 
-przekazywanie do serwera informacji 
-logowanie się do serwisów

właciwoci formularza

action - okrelamy do jakiej strony będizemy przekazywać dane
method - okrelamy sposób przekazywanie informacji
	post - dane trafiajš do tablicy asocjacyjnej $post
	get - informacje przekazywane do przekazania do kolejnej strony , dane trafiajš do tablicy asocjacyjnej $get

<form action=skrypt.php method=post>
<input type=text name=tekst>
</form>

pola formularza

text
password
checkbox
radio
submit
reset
file
hidden
image
button


skrypt odbierz php

<?php
if($_POST['imie']!=""){
echo('witaj'.$_POST['imie'].'!');
}
else
{
echo('brak imienia'.' ...



if (!empty($_GET['f0')
{
echo $_GET['f0'];
}



spawdzanie czy pole istnieje// sprawdzamy czy pole zostało oznaczone

if (isset($_POST["submit"]))
{
$mailing=false;}

if (isset($_POST["mailing"]))
{
$mailing=true;}

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

Wyrażenia regularne

zestaw znaków, który pasuje do dowolnego tekstu zawierajšcego kolejne znaki wchodzšce w skład wyrażenia

sprawdzanie okrelonych cišgów znaków
zapisywanie wzorców

---
funkcja ereg

przeszukuje danš zmiennš na obecnoć cišgu znaków


$zmienna-"lubie PHP";
if (ereg("PHP",$zmienna))
{
echo "wyrażenie ok";
}

---
funkcja eregi

to soamo ale bez uwzględniania wielkoci liter

$zmienna-"lubie PHP";
if (ereg("php",$zmienna))
{
echo "wyrażenie ok";
}

---

klasy znaków


Klasa	 Zbiory Znakow dla Klasy - Styl POSIX
:alnum:	 Znaki alfanumeryczne
:alpha:	 Znaki alfabetu
:lower:	 Male litery
:upper:	 Wielkie litery
:digit:	 Liczby dziesietne
:xdigit:	 Liczby szestnastkowe
:punct:	 Znaki przestankowe
:blank:	 Tabulatory i spacje
:space:	 Pusta przestrzen
:cntrl:	 Znaki kontrolne
:blank:	 Tabulatory i spacje
:print:	 Wszystkie mozliwe do wyswietlnia znaki
:graph:	 Wszystkie mozliwe Znaki do wyswietlenia poza spacjami

---
Pozycje i wystšpienia znaków

^[] - poczštek cišgu
[^] - bez wystšpienia cišgu
[]$ - koniec cišgu
. - zastępuje jeden dowolny znak
* - wystšpienie znaku 0 lub więcej razy
+ - co najmniej raz
? - wystšpienie znaku 0 lub jeden raz
{m,m} - n-najmniejsza, m-największa liczba wystšpień znaku - luczba powtórzeń

Uwaga:\$ lub \. -wyszukanie znaku $ lub .

przykład

if (ereg("^[[:digit:]]",$zmienna)) - czy $zmienna rozpoczyna się od cyfry
if (ereg("^..nn.$",$zmianna)) - czy $zmianna jest pięcioznakowa z dwoma literami n na 3 i 4 miejscu
if (ereg("^[[:digit:]]$",$zmienna)) - czy $zmianna to tylko jedna cyfra
if (ereg("^[[:alnum:]]*$",$zmienna))- czy $zmianna jest cišgiem pustym lub zawiera znaki alganumeryczne(*-0 lub więcej)
if (ereg("^([[:alpha:]][[:digit:]]){2,3}$",$zmienna)) - czy zmienna ma na przemian litery i cyfry - od 4 do 6 znaków


przykłady

kod pocztowy 66-400

if (ereg("^[[:digit:]]{2}-[[:digit:]]{3}",$kod))

Telefon (95)7333 333

if (ereg("^\([[:digit:]]{2}\)[[:digit:]]{4}[[:space:]][[:digit:]]{3}$",$telefon);

Mail nazwa@domena.typdomeny

if(ereg("^[^@]+@([a-z0-9]\.)+[a-z]{2,4}$",$mail);


---
podział cišgu na komponenty

$email="iksinski@onet.pl";
if(ereg("^[^@]+@([a-z0-9]\.)+[a-z]{2,4}$",$mail,$tablica));
{
echo "użytkownik:".$tablica[1]."<br>"'
echo "domena:".$tablica[2]."<br>"'
echo "typ:".$tablica[3]."<br>"'
}
else
{
echo "adres nieprawidłowy";
}


przykład imie


<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title>Formularz</title>
  </head>
<body>
<form action="" method="post">
Imię:<br/>
<input name="imie" value="<?$imie?>"/><br/>
<input type="submit" value="wylij" name="submit"/>
</form>
<?php
if (isset($_POST["submit"]))
{if (ereg("^[["alpha:]]+$",$imie))
echo "ok";
else
echo "podaj imie";
}
?>
</body></html>



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

operacje na łańcuchach

strlen - długoć napisu 
	$NIP_długoć = strlen($NIP);

trim - zwraca napis bez spacji z przodu i końca napisu 
	$NIP = trim($_POST['NIP']);

strcasecmp pomija wielkoć znaków napisu 
	strcasecmp($_POST['email'])

strtolower - zmiania duże na małe litery 
	echo strtolower('Audi,VOLVO,MERcedES');

strtoupper - zamienia małe litery na duże litery

substr - pobieranie fragmentu napisu 
	echo substr($_POST['login'],0,10);

str_replace - zamiana fragmentu napisu
	$nowy email='wzr.pl';
	echo
	str_replace('co','naco')

ucwords - zamiana tekstu do pisania pierwszych liter napisów z dużej a pozostałych z małej 
	echo ucwords(strtolower('IMIE NAZWISKO'));

strstr - sprawdza, czy jeden cišg znajduje się wewnštrz drugiego i zwraca cišg od momentu wystšpienia szukanego cišgu

	if(strstr($email,"polska")!==False) echo "Email ma w sobie słowo 'polska'";

strpos - zwraca pozycję występowania jednego cišgu w drugim

explode - zwraca tablicę napisów podzielonš względem podanego jako pierwszy znak parametru

split - dzieli tekst za pomocš wyrażeń regularnych

----------------------------------------
zadanie

utworzyć formularz "Dane użytkownika i podatnika" i sprawdzić poprawnoć wpisywanych danych wykorzystujšc wszystkie poznane operacje na łańcychach



Zgłoś jeśli naruszono regulamin