Aantal Geregistreerde bezoekers
Pagina: « vorige 1 2 3 4 5 volgende »
Dit staat erin.. en nog wat andere dingen ;)
Maar daar ad ik al aangedacht aan $_SESSION.
Maar dan probeer ik $_SESSION['id'] erin te zetten bij scriptje, en dat pakt ie niet ;)
Zoals je nu onderhand wel weet, ben ik nog niet erg goed in PHP.
(Hoewel ik de basiskennis en foutafhandeling nu wel onder de knie heb, en begin van MySQL/PHP ook.)
Jeroen schreef op 30.12.2007 17:15:
Dat is niet vreemd als je, zoals je zelf zegt, tijdens het inloggen $_SESSION['user_id'] aanmaakt. Dan moet je natuurlijk die variabele wel gebruiken.Maar dan probeer ik $_SESSION['id'] erin te zetten bij scriptje, en dat pakt ie niet ;)
ps. Vergeet natuurlijk niet session_start() aan het begin van je script te zetten als je gebruik wilt maken van sessievariabelen...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
En ik heb $_SESSION['user_id'] er gewoon botweg ingeplakt..
Interne Error [Alweer..]
Ofwel: Programmeer fout..
En hij zit bij die $_SESSION['user_id']
..
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$sql = 'SELECT
naam,
muntjes
FROM
gebruikers
WHERE
id = ".$_SESSION['user_id']."
'; // hier zit die fout denk ik. Want anders zou ie bij or_die() een fout geven.
$res = mysql_query($sql) or die("</br><font color=red><b>Fout: </b></font>".mysql_error());
$row = mysql_fetch_array($res);
echo $row['naam'];
?>
$sql = 'SELECT
naam,
muntjes
FROM
gebruikers
WHERE
id = ".$_SESSION['user_id']."
'; // hier zit die fout denk ik. Want anders zou ie bij or_die() een fout geven.
$res = mysql_query($sql) or die("</br><font color=red><b>Fout: </b></font>".mysql_error());
$row = mysql_fetch_array($res);
echo $row['naam'];
?>
Zet je query altijd tussen dubbele quotes, nu staat hij tussen enkele.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Blanche schreef op 30.12.2007 17:27:
Zie de kleurtjes in je code...
Zet je query altijd tussen dubbele quotes, nu staat hij tussen enkele.
Zet je query altijd tussen dubbele quotes, nu staat hij tussen enkele.
Veranderd:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$sql = "SELECT
naam,
muntjes
FROM
gebruikers
WHERE
id = ."$_SESSION['user_id']".
";
$res = mysql_query($sql) or die("</br><font color=red><b>Fout: </b></font>".mysql_error());
$row = mysql_fetch_array($res);
echo $row['naam'];
?>
$sql = "SELECT
naam,
muntjes
FROM
gebruikers
WHERE
id = ."$_SESSION['user_id']".
";
$res = mysql_query($sql) or die("</br><font color=red><b>Fout: </b></font>".mysql_error());
$row = mysql_fetch_array($res);
echo $row['naam'];
?>
Maar nog steeds dezelfde Error.
Waarom heb je op regel 8 de volgorde van de . en " omgewisseld? Die was gewoon goed...
Maar terug veranderd en hij doet het :D
[Eindelijk.. Naar een paar dagen..]
En omdat ik 1 ding wou weten, weet ik nu dat ene ding + andere dingen ^^
Bedoeling:
Hij zoekt de ID's en namen van de gebruikers uit de database en ze te ordenen bij de ID (ID 1, 2, 3, etc...)
Geen idee wat ik fout doe (dit keer :l):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$sql = "SELECT
naam, id
FROM
gebruikers
ORDER by
'id' ASC";
$result = mysql_query($sql) or die("</br><font color=red><b>Fout: </b></font>".mysql_error());
while ($rij = mysql_fetch_array($result)) {
echo $rij['naam']." (ID: ".rij['id'].")<br />";
}
?>
$sql = "SELECT
naam, id
FROM
gebruikers
ORDER by
'id' ASC";
$result = mysql_query($sql) or die("</br><font color=red><b>Fout: </b></font>".mysql_error());
while ($rij = mysql_fetch_array($result)) {
echo $rij['naam']." (ID: ".rij['id'].")<br />";
}
?>
Maar ik vind het vaag dat jij continu die interne serverfout krijgt, je zou gewoon een PHP foutmelding moeten krijgen. Gebeurt dit bij je host, of draai je lokaal een server? In het eerste geval, installeer eens lokaal een pakket als WAMP zodat je lokaal lekker kunt testen...
Blanche schreef op 30.12.2007 19:59:
Er horen in ieder geval geen quotes om 'id' op regel 7.
Weggehaald, nog steeds Error.
'Blanche:
.. WAMP..
Doe ik zodra m'n laptop weer terug is.
De interne serverfouten zijn zorgelijk, ik ben ze in 3 jaar php-en nog nooit tegengekomen. Een interne serverfout krijg ik uitsluitend wanneer ik lig te klooien met Apache en daarin iets goed fout doe. In php krijg ik altijd keurig een melding waar ik iets fout doen en helemaal nooit een serverfout. Een serverfout heeft ook niks met php te maken.
De server waar je nu op werkt, is in elk geval niet te vertrouwen, deze vertoond ongewenst gedrag. Ga eens uitzoeken wat dit is en hoe je dit kunt (laten) oplossen.
Zijn er enige berichten dat deze onbetrouwbaar is?
Geen idee, maar ik zou toch maar eens contact opnemen met de support en vragen of ze de instellingen eens na willen lopen. Jij wilt immers gewoon de PHP fouten kunnen zien als je error_reporting op E_ALL hebt staan.
Nu nog even netjes opmake.
Ik heb op mijn site 2 statussen,
0 (Normale Gebruiker) en 1 (Admin).
Nou weet ik wel hoe ik op m'n site krijg:
Status: (status die gebruiker is)
Maar hoe zorg ik dat de gebruiker ziet wát hij is.
Dus dat de cijfers worden vervangen door letters?
Ik hoop dat ik duidelijk genoeg ben ;)
Alvast bedankt!
Code (php)
Zoiets?
Bumpen::
SanThe.
(kom er zelf niet uit)
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$sql = "UPDATE gebruikers
SET muntjes= ".$_POST['aantal']."
WHERE naam= ".$_POST['naam']."
$result = mysql_query(sql) or die("FOUT: ".mysql_error());
?>
$sql = "UPDATE gebruikers
SET muntjes= ".$_POST['aantal']."
WHERE naam= ".$_POST['naam']."
$result = mysql_query(sql) or die("FOUT: ".mysql_error());
?>
En ja: Display_all_errors staat erboven maar geen zin om hele script te posten :P
EDIT: Laat maar, nu ik hem gepost heb zie ik dat ik een ; ben vergeten.
Gewijzigd op 01/01/1970 01:00:00 door Jeroen
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$sql = "
UPDATE gebruikers
SET muntjes= ".mysql_real_escape_string($_POST['aantal'])."
WHERE naam= '".mysql_real_escape_string($_POST['naam'])."'
";
$result = mysql_query(sql) or die("FOUT: ".mysql_error());
?>
$sql = "
UPDATE gebruikers
SET muntjes= ".mysql_real_escape_string($_POST['aantal'])."
WHERE naam= '".mysql_real_escape_string($_POST['naam'])."'
";
$result = mysql_query(sql) or die("FOUT: ".mysql_error());
?>
Een paar quotes vergeten. Daarnaast kun je nooit $_POST variabelen direct in je query gebruiken, tenzij je een onveilig systeem wilt bouwen natuurlijk. Dat los je minimaal op bovenstaande manier op.
ps. Wat is de beperking dat je geen WAMP kunt installeren? Geen rechten? Kijk dan eens naar USB Webserver. Kun je gewoon op een usb stick zetten en draaien maar...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Want in principe zet je de $_POST er gewoon weer in.
Ps. Geen toestemming,
zit op laptop van iemand anders en mag daar dus nix op installere.
Moet wachte tot ik laptop van mezelf weer heb of alternatieve computer.