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
Napiš:
<?php
$nick=$_GET["nick"];
echo
"Vitaj uzivatel" .$nick;
?> 
Louka
Profil
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
David1256:
To je len iny zapis pre to co napisal undisputed. Ale neriesi to jeho problem.
undisputed
Profil *
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
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 *
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
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
viz pcmanik:
<?php 
if (!$_GET['nick']) {// není-li definováno
  echo "Vítej, drahý anonyme."; 
}

else { 
  echo "Vítej,". $_GET['nick']; 
}
?>
undisputed
Profil *
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
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 *
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
Ip je vedena jako $_SERVER['REMOTE_ADDR'].
undisputed
Profil *
á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
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";
?>
A aj tak to nefunguje zase citujem výsledok "vitaj užívateľ" a nič iné:(


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
1. zkus ..where ip = '$ip'
undisputed
Profil *
Bez výsledku :(
Louka
Profil
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 *
Á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 *
Dal som to tam nejak a napísalo bool(false)
Louka
Profil
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 *
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 *
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 *
pardon :D

mysql_query("insert into uzivatelia (new) values ('nieco') where nick = '$nick'"); 
okolojdouci
Profil *
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
okolojdouci:
řekl bych, že chce provést update

undisputed:
Takto?
mysql_query("UPDATE uzivatelia SET new = 'nieco' WHERE nick = '$nick'");
undisputed
Profil *
Áno tak diky :)neviem prečo ma to nenapadlo a stále som to skúšal len cez insert..

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: