PHP - dotaz insert

Programovacie jazyky, rady, poradňa...
Juri1990
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 365
Registrovaný: 25 jan 2006, 10:05
Bydlisko: Bratislava
Kontaktovať používateľa:

PHP - dotaz insert

Príspevok od používateľa Juri1990 »

Mám taký malý problém a netuším čím to je. Prihlásenie mi funguje ako má, ale pri odhlasovaní mi to do tabuľky dá ten istý údaj dva krát za sebou, čiže mám dva rovnaké riadky, namiesto jedného.

Login

Kód: Vybrať všetko

...
$riadok = mysqli_fetch_array($vysledok);
  if($riadok){
    $uid=($riadok['uid']);
    $typ=($riadok['typ']);
    $sql_login=mysqli_query($db_spojenie,
    "INSERT INTO log (uid,akcia,dt) VALUES('$uid','in',NOW())");
    over_dotaz($sql_login, $db_spojenie);
    setcookie('uid', $uid, time() + 1800, '/');
    setcookie('typ', $typ, time() + 1800, '/');
    header('Location: http://localhost/maturita/index.php');
    exit();}
Logout

Kód: Vybrať všetko

require "db_spojenie.inc";
  $uid=$_COOKIE['uid'];
  $sql_logout=mysqli_query($db_spojenie,
  "INSERT INTO log (uid,akcia,dt) VALUES('$uid','out',NOW())");
  over_dotaz($sql_logout, $db_spojenie);
  setcookie('uid', '', time() - 86400, '/');
  setcookie('typ', '', time() - 86400, '/');
  header('Location: http://localhost/maturita/login.php');
  exit();
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP - dotaz insert

Príspevok od používateľa audiotrack »

a čo robí over_dotaz() ?
Juri1990
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 365
Registrovaný: 25 jan 2006, 10:05
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP - dotaz insert

Príspevok od používateľa Juri1990 »

Sorry, som zabudol hodiť

Kód: Vybrať všetko

//db_spojenie.inc
$db_spojenie = mysqli_connect
    ('localhost', 'root', '007o2', 'maturita', 3306);
  
    if (!$db_spojenie){
    die('Chyba pripojenia DB: ' .mysqli_connect_error($db_spojenie));}
  
    function over_dotaz( $dotaz, $db_spojenie){
    if (!$dotaz){die('Chyba dotazu SQL: ' .mysqli_error($db_spojenie));}}
  
    $vysledok = mysqli_query($db_spojenie, "SET NAMES 'cp1250'");
    over_dotaz($vysledok, $db_spojenie);
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP - dotaz insert

Príspevok od používateľa audiotrack »

ja tam problém nevidím, problém bude pravdepodobne niekde inde v kode. V tom logout.php nemáš už nič iné?
Juri1990
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 365
Registrovaný: 25 jan 2006, 10:05
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP - dotaz insert

Príspevok od používateľa Juri1990 »

No práveže tam nemám už nič iné. Teraz ma napadlo či mi odkaz čo mám v podstate neotvorí ten logout nejak dvojmo, ale čo viem tak by nemal.

Kód: Vybrať všetko

<a href="logout.php" target="_self"><button type="button" value="">Odhlásenie</button></a>
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP - dotaz insert

Príspevok od používateľa audiotrack »

ako ti ale môže vložiť dve rovnaké hodnoty? máš tam predsa aktuálny čas, tak by tie hodnoty mali byť mierne odlišné. V tomto čo máš chybu nevidím, jedine niekde inde.
Juri1990
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 365
Registrovaný: 25 jan 2006, 10:05
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP - dotaz insert

Príspevok od používateľa Juri1990 »

Nateraz som to odstránil úplne a mám iba login, ale jednoducho dva totožné riadky ako keby som to mal v kóde volané dva krát.
sINN3R
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 330
Registrovaný: 17 jún 2006, 11:21
Bydlisko: Trencin - Slovakia - EU
Kontaktovať používateľa:

Re: PHP - dotaz insert

Príspevok od používateľa sINN3R »

musis mat chybu niekde inde lebo sa to vola asi 2x. S tym casom je to trosku tricky pretoze ked das NOW() a mas timestamp a spravis to dostatocne rychlo tak vlozia naozaj 2 zazanymi s tym istym casom. Nemohol by si dat vacsiu cast kodu ?
Juri1990
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 365
Registrovaný: 25 jan 2006, 10:05
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP - dotaz insert

Príspevok od používateľa Juri1990 »

Ten Logout je celý kód, tam bude nejaký trik, ale uvidím či to použijem, možno keď to budem robiť neskôr, tak sa to spravím inak a bude to fungovať.
sINN3R
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 330
Registrovaný: 17 jún 2006, 11:21
Bydlisko: Trencin - Slovakia - EU
Kontaktovať používateľa:

Re: PHP - dotaz insert

Príspevok od používateľa sINN3R »

v tych urkyvkoch kodov co si sem dal nie je chyba chyba bude v tom presmerovani pravdepodobne ti to presmeruje stranku niekam kde vykonavas znova ten isty kod. Cize ak ti logout hadze 2x to iste v tabulke hladal by som chybu v login lebo tam z logout odkazujes a tam ti to hodi ten druhy duplicitny zapis do DB
badluck
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 29
Registrovaný: 18 jún 2006, 18:56

Re: PHP - dotaz insert

Príspevok od používateľa badluck »

Kód: Vybrať všetko

<a href="logout.php" target="_self"><button type="button" value="">Odhlásenie</button></a>
tu mas chybu, neviem preco ale uz sa mi raz stalo ze ked som dal button do A-cka tak sa stranka otvarala 2x, sprav to takto a ak bola chyba tu tak ti to vyriesi

Kód: Vybrať všetko

<button type="button" value="" onclick="window.location = 'logout.php'">Odhlásenie</button>
Juri1990
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 365
Registrovaný: 25 jan 2006, 10:05
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP - dotaz insert

Príspevok od používateľa Juri1990 »

Dík už mi to ide normálne. Iné stránky mi to otvára iba raz, ale tak radšej to spravím aj na ostatných.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Re: PHP - dotaz insert

Príspevok od používateľa chrono »

Dávať tam onclick je podľa mňa hlúposť. Ak by som tam chcel mať tlačidlo, tak by som použil aj form (a fungovalo by to aj bez javascriptu).
badluck
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 29
Registrovaný: 18 jún 2006, 18:56

Re: PHP - dotaz insert

Príspevok od používateľa badluck »

no ale takto to zas funguje aj bez zbytocneho formu, lebo jemu staci presmerovat na inu stranku, ale kedze sa jedna o odhlasenie, tak asi chce aby to malo vzhlad tlacitka
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Re: PHP - dotaz insert

Príspevok od používateľa Mmartin »

A co ked mam noscript?:)
badluck
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 29
Registrovaný: 18 jún 2006, 18:56

Re: PHP - dotaz insert

Príspevok od používateľa badluck »

tak mas pri prezerani stranok ovela viac problemov nez len ze ti na jeho stranke nepojde logout :)
Kazdopadne najidelnejsie riesenie je dat ten logout do obycajneho a-hrefu a ten v css nastylovat aby vyzeral ako nejake custom tlacitko
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Re: PHP - dotaz insert

Príspevok od používateľa chrono »

A čomu by tam vadil ten form?
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Re: PHP - dotaz insert

Príspevok od používateľa Mmartin »

Dalsi, co pocul, ze rastu jablka, tak obera hrusky.
Asi nemas moc ponatia o tom, co sam vravis
ked uz ti ide len o efektnost, form je bohato efektnejsi ako onclick, uz len z jedineho dovodu - spravi to to iste, a netreba ti k tomu dynamicky jazyk, ktory vacsina ludi ma vypnuty.
pat137
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 30
Registrovaný: 18 jan 2010, 19:31
Bydlisko: Bratislava

Re: PHP - dotaz insert

Príspevok od používateľa pat137 »

tak tak, zo statistik vyplyva, ze JS ma vypnuty min. 10% uzivatelov(pritom nie vsetci to robia z vlastnej vole - napr. pracovne predpisy)...tito nemaju pravo odhlasit sa? 8) taktiez kto sa zaujima o web trochu viac vie, ze jedna zo zasad pouzitelnosti web. aplikacie je to, aby "kazdy mohol vsetko"...v tom zmysle, ze ak nieco robim cez JS, tak sa odporuca urobit aj nonJS ekvivalent...priklad: alza.sk/cz, javascriptova navigacia vlavo, ale pri vypnutom JS niesi odrezany od aplikacie, vies sa dalej dostat cez horizontalnu nonJS navigaciu
Napísať odpoveď