Autor | Zpráva | ||
---|---|---|---|
undisputed Profil * |
Vie mi niekto vysvetliť prečo mi nefunguje premenna nick?
<?php $nick=$_GET["nick"]; echo "Vitaj uzivatel $nick"; ?> Doteraz mi to vždy fungovalo ale zrazu teraz netuším kde môže byť chyba . Výsledok tohoto skriptu je len "vitaj užívateľ" to je všetko.ďakujem za odpovede. |
||
David1256 Profil |
#2 · Zasláno: 23. 4. 2011, 21:29:04
Napiš:
<?php $nick=$_GET["nick"]; echo "Vitaj uzivatel" .$nick; ?> |
||
Louka Profil |
#3 · Zasláno: 23. 4. 2011, 21:31:32
David1256:
Tam chyba není. co ti vypíše var_dump($nick) a var_dump($_GET['nick'])? Myslím, že se ti někde ztrácí $_GET['nick'], zápis je korektní. |
||
pcmanik Profil |
#4 · Zasláno: 23. 4. 2011, 21:32:31
David1256:
To je len iny zapis pre to co napisal undisputed. Ale neriesi to jeho problem. |
||
undisputed Profil * |
#5 · Zasláno: 23. 4. 2011, 21:44:13
To čo napísal David1256 nefunguje,výsledok keď to otvorím je stale len "vitaj užívateľ" nič iné za tým žiadnu chybu nevyhodí ani nič iné
|
||
Louka Profil |
#6 · Zasláno: 23. 4. 2011, 21:45:49
undisputed:
Ano, už jsme upozornili na totožnost zápisu. V proměnné $nick nic není, a v $_GET['nick'] pravděpodobně také ne. Zkontroluj var_dump() jak jsem ti radil a zaměř se také na to, zda opravdu v adrese máš ?nick=XXX. |
||
undisputed Profil * |
#7 · Zasláno: 23. 4. 2011, 21:51:33
Hm teraz mi to doplo..asi,
Jaj ťažko mi to môže fungovať keďže tú premennu nemám odkiaľ asi zobrať.teda myslím že je to tak,pretože doteraz mi to fungovalo ibaže to bolo vždy keď by dotyčný napísal svoj nick a dal ok tu to nie je..čiže asi to je chyba..hm Tak potom ale ako to mám riešiť ked potrebujem premennú $nick ?nejak cez vypís z DB alebo? |
||
pcmanik Profil |
#8 · Zasláno: 23. 4. 2011, 21:54:08
undisputed:
Ak ti ju uzivatel nezadal, tak by si skorej mohol napisat anonym alebo nieco podobne, popripade tahat z DB jeho meno ak ho tam mas ulozene podla jeho ip adresy, alebo cookie, nwm co pouzivas, ale podla tohoto prikladu si asi neni moc pokrocili. |
||
Louka Profil |
#9 · Zasláno: 23. 4. 2011, 21:56:51 · Upravil/a: Louka
viz pcmanik:
<?php if (!$_GET['nick']) {// není-li definováno echo "Vítej, drahý anonyme."; } else { echo "Vítej,". $_GET['nick']; } ?> |
||
undisputed Profil * |
#10 · Zasláno: 23. 4. 2011, 21:57:29
V registračnom formulari mi dotyčný svoj nick napíše a potvrdí ibaže ho to nepresune tam čo robím teraz ,tak neviem či je to tým(a keď sa registruje tak do databázy zapíše aj nick aj ip adresu)
|
||
Louka Profil |
#11 · Zasláno: 23. 4. 2011, 22:00:42
undisputed:
a registrační formulář je method=post nebo get? Doporučuju uložit si to do cookie, nebo to tahat pokaždé z databáze. |
||
undisputed Profil * |
#12 · Zasláno: 23. 4. 2011, 22:09:38
Formulár je post ale aj keď to zmením z get na post aj tak vždy vypíše prvú možnosť anonym:(neviem už naozaj prečo nič nefunguje,a cez ten výber z DB len mysql_query(select nick from tabulka where ip = neviem čo");
? |
||
Louka Profil |
#13 · Zasláno: 23. 4. 2011, 22:35:08
Ip je vedena jako $_SERVER['REMOTE_ADDR'].
|
||
undisputed Profil * |
#14 · Zasláno: 24. 4. 2011, 07:51:55
áno to viem
$ip = $_SERVER["REMOTE_ADDR"]; mysql_query(select nick from tabulka where ip=$ip"); Tak?ale teraz neviem ako to uložím výsledok do premennej |
||
Louka Profil |
#15 · Zasláno: 24. 4. 2011, 09:32:40
Ano, takto. A pak uložení jsem tu za poslední den psal 2x:
$vysledek = mysql_query(...); $radek = mysql_fetch_assoc($vysledek); $nick = $radek['nick']; |
||
undisputed Profil * |
Mám tam presne to :
<?php include "connect.php"; $ip = $_SERVER["REMOTE_ADDR"]; $vysledek = mysql_query("select nick from uzivatelia where ip=$ip"); $radek = mysql_fetch_assoc ($vysledek); $nick = $radek['nick']; echo "Vitaj uzivatel $nick"; ?> Moderátor Alphard: Nezkusil jsi zjistit, jak odpovídající obarvují kódy? Vkládej je prosím mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Louka Profil |
#17 · Zasláno: 24. 4. 2011, 09:51:35
1. zkus ..where ip = '$ip'
|
||
undisputed Profil * |
#18 · Zasláno: 24. 4. 2011, 10:00:03
Bez výsledku :(
|
||
Louka Profil |
#19 · Zasláno: 24. 4. 2011, 10:14:25
2. máš v tabulce opravdu uloženou nějakou hodnotu pro sloupec nick a danou ip? Zkus před $nick=$radek[] připsat ještě var_dump($radek); ať vidíme, co to vytáhne.
|
||
undisputed Profil * |
#20 · Zasláno: 24. 4. 2011, 10:19:29
Áno mám to tam,
a to var_dump ešte raz prosím kde presne? To neviem ani na čo slúži tak tomu nerozumiem |
||
undisputed Profil * |
#21 · Zasláno: 24. 4. 2011, 10:22:06
Dal som to tam nejak a napísalo bool(false)
|
||
Louka Profil |
#22 · Zasláno: 24. 4. 2011, 11:08:20
var_dump() ukáže obsah proměnné, takže to vypadá že do $radek se nic neuloží => mysql_fetch_assoc($vysledek) nevrátí nic. Tomu nerozumím.
Zkus tohle zkopírovat <?php include('connect.php'); $ip = $_SERVER['REMOTE_ADDR']; $vysledek = mysql_query("select nick from uzivatelia where ip = '$ip'"); while ( $radek = mysql_fetch_assoc($vysledek) ) { echo "Vítej, ".$nick; } ?> Jinak fakt nevím, kde je chyba... |
||
undisputed Profil * |
#23 · Zasláno: 24. 4. 2011, 11:22:15
Teraz mi neukáže vôbec nič takže je chyba vtom skripte,ale už nechaj možno niečo s tým poriešim ja..teda nič iné mi neostáva,diky moc za snahu.
|
||
undisputed Profil * |
#24 · Zasláno: 24. 4. 2011, 13:51:21
poriešil som to úplne inak,
na tú stránku sa dostane len cez odkaz a po kliknutí na odkaz ho to presmeruje na "/stranka.php?nick=nejaky a vtom prípade ja už dokážem pracovať s premennou $nick, akurát mám zase taký menší problém zo zápisom do DB mysql_query("insert into uzivatelia (new) values ('nieco') where nick = '$nick'"); tak mi to nejak nefunguje, predtým som takéto veci robil vždy len bez where, tak teraz som nevedel kde to mám dať ale logicky len na koniec je to tam dobre?lebo zápis nefunguje |
||
undisputed Profil * |
#25 · Zasláno: 24. 4. 2011, 13:51:55
pardon :D
mysql_query("insert into uzivatelia (new) values ('nieco') where nick = '$nick'"); |
||
okolojdouci Profil * |
#26 · Zasláno: 24. 4. 2011, 13:59:21
Opravdu chceš do tabulky new přidat řádek, za podmínky, že nick rovná se něco?
Je to nesmysl a nelze z toho ani odhadnout, co vlastně chceš. Zkus to popsat. |
||
Keeehi Profil |
#27 · Zasláno: 24. 4. 2011, 14:22:27
okolojdouci:
řekl bych, že chce provést update undisputed: Takto? mysql_query("UPDATE uzivatelia SET new = 'nieco' WHERE nick = '$nick'"); |
||
undisputed Profil * |
#28 · Zasláno: 24. 4. 2011, 15:08:38
Áno tak diky :)neviem prečo ma to nenapadlo a stále som to skúšal len cez insert..
|
||
Časová prodleva: 13 let
|
0