2 scripts nodig: een vraag

Status
Niet open voor verdere reacties.

feyenoord20

Gebruiker
Lid geworden
27 aug 2005
Berichten
68
Ik hoop dat jullie mij hier misschien verder mee kunnen helpen. Wat betreft dit onderwerp zit ik er niet zo diep in en jullie misschien wel.

Ik zoek 2 scripts voor VIP ( Op mijn site word je VIP in de database is dat level 14 ):

1/ Een script dat mensen alleen een site kunnen bezoeken zodra ze Level 14 (VI zijn. Ik heb wel al het menu die word weergeven als je level 14 bent, maar als je de link weet kan je er als nog op zonder VIP te zijn.

2/ Een script die elke dag -1 doet in de database bij VIPlevel.

Ik hoop dat jullie me verder op weg kunnen helpen.

Mvg,
F. Wiek

PS: Nog 1 vraag ( heb bestand bijgevoegd ). Dat is de Clan lijst maar ik krijg geen fouten maar hij weergeeft de gehele clan lijst niet. Ik en me broer kunnen alle 2 de fout niet vinden een me broer snapt PHP toch wel goed. We zijn tot 5uur s'nachts bezig geweest. We zullen wel iets over het hoofd hebben gezien. Ik hoop dat één van jullie me kan helpen. Hartstikke bedankt alvast. Hier in dit bestand moet ergens 'list' staan daar worden de gegevens ingeladen voor clan.php?=list.

Alvast bedankt
 

Bijlagen

De eerste vraag kun je op deze manier oplossen.

Let wel, ik ken de structuur van je database niet dus je zult de query moeten controleren.
PHP:
$levelQuery = "SELECT level FROM leden";
$levelResult = mysql_query($levelQuery) or die (mysql_error());
$levelRow = mysql_fetch_array($levelResult);
if($levelRow['level'] >= 14)
{
  //Nu ga je de code geven die je wilt laten zien wanneer iemand level 14 of hoger is.
}
else
{
  //Hier zet je de code neer die je kunt zien wanneer je geen level 14 of hoger bent.
}

Op deze manier krijg je dus 2 delen, een deel dat je alleen bij lvl 14 of hoger kunt zien en wanneer je dat niet bent zie je het andere deel.

Wil je nou dat je het "andere" deel altijd ziet en alleen een bepaald deel extra ziet wanneer je level 14 bent dan moet je de else statement weghalen en de code tussen de accolades bewaren. (Dus else{ en } weghalen)
 
De eerste vraag kun je op deze manier oplossen.

Let wel, ik ken de structuur van je database niet dus je zult de query moeten controleren.
PHP:
$levelQuery = "SELECT level FROM leden";
$levelResult = mysql_query($levelQuery) or die (mysql_error());
$levelRow = mysql_fetch_array($levelResult);
if($levelRow['level'] >= 14)
{
  //Nu ga je de code geven die je wilt laten zien wanneer iemand level 14 of hoger is.
}
else
{
  //Hier zet je de code neer die je kunt zien wanneer je geen level 14 of hoger bent.
}

Op deze manier krijg je dus 2 delen, een deel dat je alleen bij lvl 14 of hoger kunt zien en wanneer je dat niet bent zie je het andere deel.

Wil je nou dat je het "andere" deel altijd ziet en alleen een bepaald deel extra ziet wanneer je level 14 bent dan moet je de else statement weghalen en de code tussen de accolades bewaren. (Dus else{ en } weghalen)


Kijk hartstikke bedankt. Nog even een echotje daar onder met de volgende tekst: ' Je bent geen VIP, en hebt geen toegang tot deze pagina ). Dit script kan ik dus in elke pagina zetten. Hartstikke bedankt. Dat is 1vraag opgelost nog 1 tegaan
 
Begin met die ?p=list een simpel

PHP:
$lijstQuery = "SELECT * FROM leden";
$lijstResult = mysql_query($lijstQuery) or die (mysql_error());
while($lijstRow = mysql_fetch_array($lijstResult))
{
  echo $lijstRow['naam'] .'<br />';
}

en bouw het daarna uit tot je dezelfde functies krijgt als dat je wilt. Ook hier, controleer de naamgeving.

Trouwens het lijkt mij dat mensen inloggen en dat er iets in een sessie of cookie wordt opgeslagen... Wat sla je daarin op want ik zie net dat ik in de query voor level 14 geen voorwaarde heb gesteld. Hij moet natuurlijk wel kijken of die bepaalde persoon een level 14 is of niet en niet iedereen...
 
Laatst bewerkt:
Begin met die ?p=list een simpel

PHP:
$lijstQuery = "SELECT * FROM leden";
$lijstResult = mysql_query($lijstQuery) or die (mysql_error());
while($lijstRow = mysql_fetch_array($lijstResult))
{
  echo $lijstRow['naam] .'<br />';
}

en bouw het daarna uit tot je dezelfde functies krijgt als dat je wilt. Ook hier, controleer de naamgeving.

Trouwens het lijkt mij dat mensen inloggen en dat er iets in een sessie of cookie wordt opgeslagen... Wat sla je daarin op want ik zie net dat ik in de query voor level 14 geen voorwaarde heb gesteld. Hij moet natuurlijk wel kijken of die bepaalde persoon een level 14 is of niet en niet iedereen...


Nou als hij is ingelogd dan wordt er automatisch een cookie gemaakt. Dit hebben we al getest. Dus dat script ( je eerste ) die zit ik op elke pagina die alleen voor VIP bestemd is.

En het script wat je neeft geeft waar is dat voor?
 
Het script is voor je lijst probleem (Staat er volgens mij ook boven...)

Je kunt het script voor level 14 wel leuk overal boven zetten maar dan werkt het nog niet zoals je wilt.

Je zult aan die query een voorwaarde moeten stellen want hij kijkt nu niet of degene die is ingelogd level 14 of hoger heeft. Dus wanneer je de ID in een cookie opslaat zul je de query moeten wijzigen in zoiets als dit.
PHP:
$levelQuery = "SELECT level FROM leden WHERE id = '$_COOKIE[id]'";
 
PHP:
$levelQuery = "SELECT level FROM leden WHERE id = '$_COOKIE[id]'";  
$levelQuery = "SELECT level FROM leden"; 
$levelResult = mysql_query($levelQuery) or die (mysql_error()); 
$levelRow = mysql_fetch_array($levelResult); 
if($levelRow['level'] >= 14) 
{ 
  //Nu ga je de code geven die je wilt laten zien wanneer iemand level 14 of hoger is. 
} 
else 
{ 
  //Hier zet je de code neer die je kunt zien wanneer je geen level 14 of hoger bent. 
}

dat zou moeten werken dan toch
 
Nee dat gaat niet werken.

Ten eerste heb je nog niet aangegeven wat je met die cookie meezend dus mijn code was puur speculatief.

Ten tweede overschrijf je nu de variabele $levelQuery
Deze zul je alleen moeten gebruiken maar dan zul je de WHERE voorwaarde aan moeten passen aan de hand van de gegevens in de cookie
PHP:
$levelQuery = "SELECT level FROM leden WHERE id = '$_COOKIE[id]'";
 
Sorry maar snap er geen zak van waar ik die script nou moet zetten enzo.
in de login.php maakt hij toch al die cookie enzo
 
Ik weet niet waar jij die cookie maakt, dat interesseert mij ook niet zoveel. Ik ben meer geinteresseerd in hetgeen je in die cookie zet.

Stel dat jij in die cookie de ID van degene die inlogt opslaat dan moet je dus kijken of bij degene met de ID die in de cookie staat, het level op 14 of hoger staat.
 
Ik heb het script nu zo

$levelQuery = "SELECT level FROM [users] WHERE `login`='{$data->login}'");
$levelResult = mysql_query($levelQuery) or die (mysql_error());
$levelRow = mysql_fetch_array($levelResult);
if($levelRow['level'] => 14)
{
//Nu ga je de code geven die je wilt laten zien wanneer iemand level 14 of hoger is.
}
else
{
//Hier zet je de code neer die je kunt zien wanneer je geen level 14 of hoger bent.
}


Dan kan iedereen van level 14 of hoger( level 255 komt alleen nog na level 14 ). die kan op die pagina komen. Dus admins en VIP's kunnen erop. En ik heb de -1 in de database al dus dat is ook goed. Nu heb ik alleen nog 1 fout maar dat moet ik nog ff goed maken.
 
Welke fout is dat dan?
 
Ja die fout was clan.php de list want die weergaf hij niet hij weergaf de lijst niet met alle clans enzo. Maar dat probleem is al weg.

Heb weer een andere:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan