Autor Zpráva
GRiNgo
Profil *
Dobry vecer prajem, potreboval by som radu.
Mam jeden script ktory pracuje s funkciu $_GET . Ked mam jednu funguje to dobre, ked dam dve tak tiez, ale ked tu druhu niekto nevyplni tak mi to zbytocne narobi chyby, teda jemu.
Preto by som sa chcel spytat, ako to spravit tak, ze ked to niekto nevyplni aby mu zbytocne nehodilo error. Proste by sa ta funkcia vypla alebo ignorovala take nieco.

$celemeno = array(
'Jednotka:' . $_GET["meno1"] . ':',
'Dvojka:' . $_GET["meno2"] . ':',
); 


Ono ked vyplnim obydve tak to je v poho, ale ked len jedno tak mi to do scriptu da zbytocne nejaku chybu. Preto by som to chcel nejako oblbnut :D

Dik za rady ak ma niekto nechape (co je dost mozne :D ) tak napisem este raz nejako podrobnejsie
execol
Profil *
Tak dej $_GET["meno1"] a $_GET["meno2"] nejakou pocatecni hodnotu, a kdyz to nekdo vyplni, tak se to jenom prepise.
GRiNgo
Profil *
No, lenze prave to si dovolit nemozem . Pretoze to by bol velmi velky zasah :(
Alphard
Profil
$celemeno = array();
if(!empty($_GET['meno1'])) $celemeno[] = 'Jednotka:' . $_GET["meno1"] . ':';
if(!empty($_GET['meno2'])) $celemeno[] = 'Dvojka:' . $_GET["meno2"] . ':';
AM_
Profil
$celemeno = array(
'Jednotka:' . @$_GET["meno1"] . ':',
'Dvojka:' . @$_GET["meno2"] . ':',
); 


@ potlačí výpis chyby. Dnes se to tu už jednou řešilo a v tomto případě je opět potlačení zcela na místě. Když si s tím budeš chtít hrát, můžeš tam vrazit podmínku, že když není meno1 (popř. meno2) nastavené nebo je prázdné, doplní se za něj třeba ??? (působí to lépe než prázdné místo).
AM_
Profil
Alphardovo řešení je pochopitelně také možné, záleží, jak chceš, aby se program choval, pokud je zadáno jen jedno jméno.
GRiNgo
Profil *
Skusal som to potlacenie, ale nepomohlo. Script ziadal nadalej druhu polozku teda meno2. A pracoval ako keby tam bolo, len ked tam nieje tak mi to robi chyby teda -
Stale Notice: Undefined offset: ......

Ked som skusal cez tu podmienku tak mi to uz neslo vobec a to teda netusim preco.. najprv som si myslel ze musi byt =! ale aj tak nepomohlo.

Dik za napady !
GRiNgo
Profil *
Tak uz som skusal asi vsetko co ma napadlo, chcem to urobit podmienkou ale vobec sa neviem pohnut.
Nechapem, preco mi nechce zobrat

$celemeno = array();
'Jednotka:' . $_GET["meno1"] . ':',
if(!empty($_GET['meno2'])) $celemeno[] = 'Dvojka:' . $_GET["meno2"] . ':';


Prazda strana, ani error nenapise.

Takze, ak nebude meno2 prazdne tak vykona tu funkciu. Ak meno2 bude prazdne neurobi nic(funkcia sa nevykona), odignoruje to.

Zatial dik
Alphard
Profil
GRiNgo:
není zde žádné echo, ani nic jiného, co by mohlo generovat výstup, prázdná stránka je v pořádku

jestli u toho máte ještě něco, tak to sem dejte (tím nemyslím deset stran nesouvisejícího kódu, vybírejte s rozumem :-))
můžete zkusit
$celemeno = array();
$celemeno[] = 'Jednotka:' . $_GET["meno1"] . ':',
if(!empty($_GET['meno2'])) $celemeno[] = 'Dvojka:' . $_GET["meno2"] . ':';
print_r($celemeno);
GRiNgo
Profil *
Popisem to blizsie. Zatial bez GET teda.

Ten script mi to generuje na zaklade tohto (uz upravene a funkcne)

$celemeno = array(
'Nick:Miso:',
'Nick:Duro:',
'Nick:Jano:',
);


Cim viac mien tam napisem tym viac mi toho vygeneruje pre kazdeho jedneho jeden stlpec s udajmi. To ide velmi dobre. A ja to chcem dat teraz nejako stou funkciu GET, aby si to navstevnik stranky mohol urobit sam :)
Myslim ze viac ktomu netreba, kod je velmi dlhy to hej, len myslim ze treba urobit len toto.

Dik este raz za help
AM_
Profil
tak v get predavej rovnou pole: ?meno[]=Miso&meno[]=Duro&meno[]=Jano
TFSi
Profil
AM_
Nechci mást, ale mám pocit že tohle by nešlo. Pokud má formulář method=get a v action je url s parametry, tak se tyto parametry zruší.
Na tohle by potom bylo třeba vygenerovat několik skrytých inputů se stejným jménem (zde meno[]).
AM_
Profil
Jo, v případě formuláře se to dělá takhle:
<form method="get" action="skript.php">
<div>
Jméno 1:  <input type="text" name="meno[]" /><br />
Jméno 2:  <input type="text" name="meno[]" /><br />
Jméno 3:  <input type="text" name="meno[]" /><br />
<input type="submit" value="odeslat" />
<div>
</form>

To vygeneruje při odeslání kýženou URL ;) samozřejmě to samé lze dělat i přes POST.
GRiNgo
Profil *
No moment, som trosku mimo teraz :D
Ako by teda potom vyzeral tento kod ?

$celemeno = array(
'Nick:Miso:',
'Nick:Duro:',
'Nick:Jano:',
);

A potom dana url? Lebo v tom mam akysi bordel :D . Sory, ale som len zaciatocnik :( dakujem za trpezlivost a kazdu radu !
AM_
Profil
ten kod by vypadal $celemeno=$_GET['meno'] ;) URL ani snad řešit nemusíš.
GRiNgo
Profil *
No, tak, funguje asi do polovice a s chybami . Cele funguje len vtedy ak zadam vsetky tri mena :( presne to iste ako na zaciatku vlastne... teda je to to iste ako keby som to urobil len takto

$celemeno = array(
'nick:' . $_GET["meno"] . ':',
'nick:' . $_GET["meno2"] . ':',
'nick:' . $_GET["meno3"] . ':',
); 


Ked zadam vsetky 3 tak ide dobre, ale ked len jedno, alebo dve tak uz hadze chyby. Stale som tam, kde som aj bol. Myslel som si ze to nebude take jednoduche, ale az takto :"(

Ale mam napad, len potrebujem pomoc na jeho realizaciu :) , popripade ci sa vobec bude dat spravit.
Bolo by to asi takto-
$celemeno = array(
'nick:' . $_GET["meno"] . ':',   //toto by zostalo, pretoze by to bolo povinne, to mi zatial ide
//** Tu by to bolo uz tak, ze ak vo formulary napise clovek "0" tak sa nic neurobi, proste by to v tomto riadku ako keby nebol tento kod, ako keby ani neexistoval, ale ak tam napisu meno tak uz to pojde :) teda nieco s podmienkou, teda ak sa bude dat tak ako myslim, lebo iny sposob ma uz nenapada. Kedze toto je rozhodujuci riadok a posledny co mi chyba ku spusteniu celeho scriptu**//
); 


Ak je to uplna blbost tak uz som asi v koncoh :( Ale ak by sa dalo tak by som bol velmi stastny :D

DAKUJEM ZATIAL ZA VSETKY RADY A TIPY :)
Miloš D.
Profil *
Podľa mňa by to tak šlo, musíš pogoogliť...
http://sk.php.net/if
GRiNgo
Profil *
Ja uz som skusal vselico, ale asi na to nemam :(
Je to moc zlozite pre mna, preto potrebujem pomoc tu. Ale dik aspon za nieco. Mozno tak do mesiaca na to pridem :D v tom lepsom pripade :(

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: