Hahó
Kérdésem lenne, hogy a hiba, mert valahogy ez nem akar lefutni:
function lemezhaboru_validate($form_id, $form_values) {
global $user;
// megnézi, hogy csak regisztrált felhasználó pontozzon....
if ($user->name == '')
{
form_set_error('', t('Kérlek regisztrálj és jelentkezz be! Csak az oldalra regisztrált és bejelentkezett felhasználók értékelhetnek. Köszönöm.'));
}
//megnézi, hogy a felhasználó már pontozta-e az adott lemezt
if exists(db_query("select lemezcim, ertekelo from {lemezhaboru} where ertekelo='%s' and lemezcim='%s'", $user->name , $form_values['lemezek']))
{
form_set_error('', t('Ezt a lemezt már pontoztad!'));
}
}
komplett adatbázis, kód, előzmények ITT
Fórum:
hűha...
1: ha ezt a kódot továbbra is egy node bevitelekor adtad meg mint php bemenet akkor már az elejétől fogva felejtős a dolog, mert nem fog menni, ennek egy külön modulban kell lennie.
2: ez milyen fv: 'exists' ?! ilyen nincs php-ban, de ha lenne akkor sem egy db_query() fv visszatérési értékét kellene vele ellenőrizni...
szerk:
3: ahogy most ellenőrzöd azt, hogy bejelentkezette-e valaki vagy sem az vendég látogató esetén úgy működik, hogy kiírja a szöveged, majd rendben továbbmegy mintha semmi nem történt volna...
4: adatbázisban sokkal inkább célszerűbb a $user->uid értéket tárolni, mert ezt nem tudja megváltoztatni a későbbiekben a felhasználó és az admin sem, nem úgy mint a felhasználó nevet.
stb.
nem akarlak megbántani de ez az egész hibáktól és megvalósítási elképzelésektől hemzseg. ha azt akarod, h érdemben is tudjon segíteni a nép, akkor legközelebb kicsit több infót is közölhetnél a megvalósítással kapcsolatban, vagy hogy minek és hogyan kellene mennie...