Kontrola cez funkciu – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Kontrola cez funkciu – PHP – Fórum – Programujte.comKontrola cez funkciu – PHP – Fórum – Programujte.com

 

Anonym
~ Anonymní uživatel
454 příspěvků
14. 11. 2011   #1
-
0
-

Zdravím, mám jeden problém, ktorý by som rád vyriešil, teoreticky by som to aj vedel, ale akosi si to neviem prakticky zosúladiť. Ide mi o to, vložiť príkazy do funkcie a následne ju používať.

$id = $_GET['id']; /// Čakanie na premennú

if (is_numeric($id)) /// Kontrola číselnej hodnoty
{
$sql = mysql_query("SELECT id FROM tabulka WHERE id = '".$id."'"); /// Nájdenie ID v DB
$pocet = mysql_num_rows($sql); /// Definovanie počtu
if ($pocet == 1) /// Ak prvok existuje
{


/// Ďalšie príkazy po kontrole...


}
}

Tieto príkazy bez zadávania "$id" by som chcel použiť vo funkcii, ktorú by som volal z nejakého súboru. Moja predstava je, že volaná funkcia spracuje akúkoľvek premennú a ak je číselná a ak sa položka nachádza v tabuľke, tak začne pokračovať v behu, ak nie ukončí sa. Neviem či som to dosť presne vysvetlil, ale chcem dosiahnuť toho, aby som pri každej kontrole nejakej premennej, nemusel vypisovať túto kontrolu manuálne, ale že by som len použil už predpripravenú funkciu...

Ďakujem za pomoc!

Nahlásit jako SPAM
IP: 109.230.40.–
CZechBoY+4
Věrný člen
14. 11. 2011   #2
-
0
-

ukončit skript můžeš přes exit nebo die

Nahlásit jako SPAM
IP: 213.192.10.–
crazy
~ Moderátor
+10
Grafoman
14. 11. 2011   #3
-
0
-

#1 Anonym
pokud chceš pouze ukončit funkci tak return;

Nahlásit jako SPAM
IP: 147.32.113.–
All you need is vision and time.
Anonym
~ Anonymní uživatel
454 příspěvků
14. 11. 2011   #4
-
0
-

ja potrebujem niečo takéto :

$premenna = $_GET['nieco'];

function funkciakontrola($premenna)
{
/// Vykoná sa kontrola premennej
}

Ide mi o to aby tú premmenú ktorú mám zadanú funkcia skontrolovala ale neviem ako to zapísať správne aby bola zavolaná a tú premennú ktorú mám skontrolovala.

Nahlásit jako SPAM
IP: 109.230.40.–
CZechBoY+4
Věrný člen
14. 11. 2011   #5
-
0
-

no jasně tu proměnnou ti vrátí třeba přes return, ale když bude ve špatným formátu tak co chceš udělat?

Nahlásit jako SPAM
IP: 213.192.10.–
Anonym
~ Anonymní uživatel
454 příspěvků
14. 11. 2011   #6
-
0
-

#5 CZechBoY

Stačí mi iba vypísať "chyba..."

Len neviem či to mám správne funkčné... 

Nahlásit jako SPAM
IP: 109.230.40.–
Anonym
~ Anonymní uživatel
454 příspěvků
14. 11. 2011   #7
-
0
-

V podstate chcem to aby ak medzi zátvorky priradené k funkcii zadám akúkoľvek premennú, aby sa funkcia vykonala a túto premennú skontrolovala... Príklad:

function kontrola($nejaka_premenna_v_subore)
{
/// Kontrola premennej

/// Ak je overenie v poriadku pokračovať vo vykonávaní príkazov

/// Ak overenie nie je v poriadku vypísať chybu
}
Nahlásit jako SPAM
IP: 109.230.40.–
yetty
~ Redaktor
+5
Super člen
15. 11. 2011   #8
-
0
-

#7 Anonym
A v čem je problém?

function kontrola($p) {
	// kontrola
	if (... or ...) {
		// pokud je neco spatne
		return false;
	}

	// pokracujeme
	...

	return true;
}

A potom na místě kde tu funkci voláš (nebo někde později):

if (kontrola($p)) {
	// pokud se nam vrati true
	echo "Vsechno OK";
} else {
	echo "Chyba";
}
Nahlásit jako SPAM
IP: 90.180.203.–
anonym
~ Anonymní uživatel
454 příspěvků
15. 11. 2011   #9
-
0
-

ďakujem,aspoň mám lepšiu predstavu. Mne len nie je jasné,ako mám v príkazoch pracovať s premennou ktorej meno až do zadania do funkcie nie je jasné. Príklad príkazu: mysql_query(... WHERE polozka = ocakavana premenna) nie je mi to jasné,ako to správne napísať aby to pracovalo práve s tou premennou.

Zasláno z mobilního telefonu.

Nahlásit jako SPAM
IP: 193.87.99.–
yetty
~ Redaktor
+5
Super člen
15. 11. 2011   #10
-
+2
-
Zajímavé

#9 anonym
Zkusím to trochu shrnout.Obecně to funguje tak, že máš určitou funkci:

function mojeFunkce($p1, $p2, ..., $pn) {
	...
}

kde $p1 až $pn jsou parametry funkce. Když pak funkci voláš někde v programu, musíš tyto parametry předat. To můžeš udělat buď nějakou konstantní hodnotou, nebo jinou proměnnou. Uvedu jednoduchý příklad programu.

// deklarace funkce
function pozdrav($jmeno) {
	echo "Ahoj " . $jmeno;
}

// mozne zpusoby volani funkce
pozdrav("Pepo"); // vypise 'Ahoj Pepo'

$dalsi_jmeno = "Jirko";
pozdrav($dalsi_jmeno); // vypise 'Ahoj Jirko'

pozdrav("Pepo a " . $dalsi_jmeno); // vypise 'Ahoj Pepo a Jirko'

Jinak tohle najdeš téměř v každém povídání o začátcích v PHP, doporučuji si zkusit na toto téma něco najít. Možná že pak bude řada věcí jasnějších.

Nahlásit jako SPAM
IP: 90.177.88.–
Anonym
~ Anonymní uživatel
454 příspěvků
15. 11. 2011   #11
-
0
-

#10 yetty

Ďakujem, už som tomu aspoň pochopil, mám ale problém, ak zadám napr.:

// deklarace funkce
function pozdrav($jmeno) {
	echo "Ahoj " + $jmeno;
}

// mozne zpusoby volani funkce
pozdrav("Pepo"); 

Tak namiesto 'Ahoj Pepo' mi to vypíše 0, kde je problém?

Nahlásit jako SPAM
IP: 109.230.40.–
KIIV
~ Moderátor
+43
God of flame
15. 11. 2011   #12
-
0
-

v PHP se retezce "nescitaji" ale "spojuji" .. na to je operator tecka .  tj ne +

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Anonym
~ Anonymní uživatel
454 příspěvků
15. 11. 2011   #13
-
0
-

#12 KIIV

Ďakujem, všetko funguje ako by malo, som rád že ste mi pomohli pochopiť funkciám.

Nahlásit jako SPAM
IP: 109.230.40.–
yetty
~ Redaktor
+5
Super člen
16. 11. 2011   #14
-
0
-

#12 KIIV
Jo, pravda, můj omyl. Psal jsem to rychle a jsem už trochu zvyklejší na Python...

Nahlásit jako SPAM
IP: 90.180.203.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 23 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý