ID van account in URL

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Prospere Gaming

Prospere Gaming

21/01/2015 19:05:22
Quote Anchor link
Hee alle, ik ben bezig een browsergame te maken maar kom tegen een probleem aanlopen.
Ik wil een link weergeven zodat je je eigen profiel kan bekijken aan de hand van je ID

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$ID
= $_GET['ID'];
        {
        
        echo "
        <form action='#/profiel.php?ID=$ID' method='post' target='blank'>
        <input type='submit' value='profiel' name='submit'/><br>
        </form>"
;
        }
(
heb de link vervangen door #)

?>

Wat geeft de url weer?: #/profiel.php?ID= IPV #/profiel.php?ID=11 (noem zomaar een nummer)
Ik heb gemerkt dat als het nummer niet achter de URL staat niet alles wordt weergeven op de profielpagina dus hij moet automatisch het ID van de gebruiker erachter plakken maar ik kom er niet aan uit.
Wat wel in het script staat(om misverstanden te voorkomen):
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

        require_once ('connect.php');

        $username = $_SESSION['gebruiker'];
        
        $sql = "SELECT * FROM Accounts where naam='$username'";
        $result = mysql_query($sql);

        while($row = mysql_fetch_array($result)) {
        $ID = $row ['ID'];
        $naam = $row  ['naam'];
        $xp = $row ['xp'];
        $geld = $row ['geld'];
        $info = $row ['zelfinfo'];
        $vipdagen = $row ['vip-dagen'];
        $credits = $row ['credits'];
        $bevoegdheid = $row ['bevoegdheid'];
        }

        
        
        
        ?>

Zou iemand willen en kunnen uitleggen hoe hij automatisch jou ID nummer achter de URL plak?
Mvg Prospere
 
PHP hulp

PHP hulp

07/05/2021 00:36:08
 
- Ariën -
Beheerder

- Ariën -

21/01/2015 19:08:43
Quote Anchor link
Waarom sla je de waarde van $_GET['ID'] op in $ID? Je kan toch prima $_GET['ID'] gebruiken?
Zolang je deze maar buiten quotes zet, en met isset() controleert of hij ingevuld is.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(isset($_GET['ID'])) {  
echo "<form action='#/profiel.php?ID=".$_GET['ID']."' method='POST' target='blank'>";
}
else {
echo "Ik heb geen ID!";
}

?>

Verder zou ik argumenten en parameters altijd lowercase houden.
Gewijzigd op 21/01/2015 19:12:49 door - Ariën -
 
Prospere Gaming

Prospere Gaming

21/01/2015 19:38:43
Quote Anchor link
Hij geeft nu aan Ik heb geen ID! Terwijl ik wel ingelogd ben?
Bedankt voor de snelle reactie trouwens :)
 
- Ariën -
Beheerder

- Ariën -

21/01/2015 19:40:07
Quote Anchor link
Dan haalt hij die uit de URL, waar geen ID ingevuld is.
Als je hem uit de database moet halen moet je (binnen je while(){ }) $row['ID'] gebruiken.
Gewijzigd op 21/01/2015 19:40:20 door - Ariën -
 
Prospere Gaming

Prospere Gaming

21/01/2015 19:44:32
Quote Anchor link
Hm? zover ik je snap bedoel je dit:
while($row = mysql_fetch_array($result)) {
$ID = $row ['ID'];
Wat er al in stond?
 
- Ariën -
Beheerder

- Ariën -

21/01/2015 19:56:31
Quote Anchor link
Variabelen overschrijven heeft weinig nut...

Je kan dan gewoon binnen die while() {} gewoon $row['ID']; echo'en.
 
Prospere Gaming

Prospere Gaming

21/01/2015 20:11:42
Quote Anchor link
Ok thnx! hij geeft niet meer weer dat hij geen ID heeft, alleen nog ff puzzelen dat de button naar voren komt... XD
 
Obelix Idefix

Obelix Idefix

21/01/2015 20:22:29
Quote Anchor link
Prospere Gaming op 21/01/2015 19:05:22:
Ik wil een link weergeven zodat je je eigen profiel kan bekijken aan de hand van je ID

Betekent dus dat ik elk profiel kan opvragen door het id in de url te wijzigen.
 
Prospere Gaming

Prospere Gaming

21/01/2015 20:24:46
Quote Anchor link
Klopt, dat moet ik ook nog maken in een ledenlijst automatisch, als ie wil werken :p
Het is alleen een profiel bekijken en niet bewerken

Toevoeging op 21/01/2015 21:30:52:

Heb wat geprobeerd en geknutseld maar is niet gelukt @aar...
Of ik heb m verkeerd getypt of verkeerd geplaatst o.i.d.
Zou je hem misschien bij de stukjes script hierboven willen plaatsen?
Sorry dat ik zo vervelend ben hoor :$
 
Prospere Gaming

Prospere Gaming

27/01/2015 15:26:28
Quote Anchor link
Prospere Gaming op 21/01/2015 20:24:46:
Klopt, dat moet ik ook nog maken in een ledenlijst automatisch, als ie wil werken :p
Het is alleen een profiel bekijken en niet bewerken

Toevoeging op 21/01/2015 21:30:52:

Heb wat geprobeerd en geknutseld maar is niet gelukt @aar...
Of ik heb m verkeerd getypt of verkeerd geplaatst o.i.d.
Zou je hem misschien bij de stukjes script hierboven willen plaatsen?
Sorry dat ik zo vervelend ben hoor :$


Denk niet dat hij verscheen als nieuw bericht dus vandaar nogmaals
 
- Ariën -
Beheerder

- Ariën -

27/01/2015 15:32:07
Quote Anchor link
Er zit in het forum een beveiliging dat je binnen 24 uur je topic omhoog kan bumpen.

Verder ben ik benieuwd wat je geprobeerd hebt. Dan kunnen we er even naar kijken.
Gewijzigd op 27/01/2015 15:33:02 door - Ariën -
 
Prospere Gaming

Prospere Gaming

27/01/2015 15:46:55
 
- Ariën -
Beheerder

- Ariën -

27/01/2015 16:18:59
Quote Anchor link
Voordat de plaatjes weg zijn of onbereikbaar worden, zien we je relevante code graag tussen de codetags op het forum. Zo blijft het makkelijk leesbaar voor iedereen.
 
Prospere Gaming

Prospere Gaming

27/01/2015 16:21:27
Quote Anchor link
Oh excuus:
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
            $ID
= $_GET['ID'];
if(isset($_GET['ID'])) {  
echo "<form action='#/profiel.php?ID=".$_GET['ID']."' method='POST' target='blank'>";
}
else {
echo "Ik heb geen ID!";
}

?>

en
Quote:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php

require_once ("connect.php");



        $ID = $_GET['ID'];
        
        $sql = "SELECT * FROM Accounts where ID='$ID'";
        $result = mysql_query($sql);

        while($row = mysql_fetch_array($result)) {
        $naam = $row  ['naam'];
        $xp = $row ['xp'];
        $geld = $row ['geld'];
        $zelfinfo = $row ['zelfinfo'];
        $credits = $row ['credits'];
        $vipdagen = $row ['vipdagen'];
        $monteur = $row ['monteur'];
        $bevoegdheid = $row ['bevoegdheid'];
        
        



}


?>


-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

if(isset($_GET['ID'])) {  
echo "<form action='#/profiel.php?ID=".$_GET['ID']."' method='POST' target='blank'>";
}
else {
echo "Ik heb geen ID!";
}

?>
 
Thomas van den Heuvel

Thomas van den Heuvel

27/01/2015 17:31:14
Quote Anchor link
Als je het id al hebt middels $_GET['ID'], waarom zou je deze dan in een formulier willen zetten?

Ik kan mij wel voorstellen dat als je een soort van ledenlijst wilt bouwen, en er is geen profiel geselecteerd ($_GET['ID'] staat niet ingesteld), dat je dan een (deel van je) ledenlijst toont.

Voordat je $_GET['ID'] in een query gebruikt moet je de waarde van $_GET['ID'] inspecteren, anders is je query mogelijk vatbaar voor SQL-injectie. Controleer of $_GET['ID'] een positief, geheel getal bevat, en voer anders de query in het geheel niet uit!

Daarnaast, zoals ook aangehaald in een ander topic, als je nieuwe code schrijft, gebruik dan mysqli of PDO, maar geen mysql-functies.
 
Prospere Gaming

Prospere Gaming

27/01/2015 17:34:18
Quote Anchor link
De reden waarom het in een formulier moet is omdat het een knopje naar je eigen profiel moet worden.
VB: mij ID=11 dan moet de link zijn: #/profiel.php?ID=11
En dat automatisch als ik op dat knopje druk
 
- Ariën -
Beheerder

- Ariën -

27/01/2015 18:06:23
Quote Anchor link
- Gebruik GET als je in de URL met ?id= het nummer wilt bepalen doot iedereen. Bijv. voor een profiel.

- Gebruik mysqli_fetch_assoc() en mysqli_query() om het ID uit de database te halen voor bijv. een wijzig-profiel pagina.
 
Thomas van den Heuvel

Thomas van den Heuvel

27/01/2015 19:38:06
Quote Anchor link
Prospere Gaming op 27/01/2015 17:34:18:
De reden waarom het in een formulier moet is omdat het een knopje naar je eigen profiel moet worden.
VB: mij ID=11 dan moet de link zijn: #/profiel.php?ID=11
En dat automatisch als ik op dat knopje druk


Ehhh?

Je geeft toch niet de hele tijd een id via de URL door? Deze haal je toch uit je sessie? Zoals hier gebeurt, zeg maar (maar dan met een kloppend HTML document).
 
Frank Nietbelangrijk

Frank Nietbelangrijk

27/01/2015 21:54:14
Quote Anchor link
Thomas van den Heuvel op 27/01/2015 19:38:06:
Prospere Gaming op 27/01/2015 17:34:18:
De reden waarom het in een formulier moet is omdat het een knopje naar je eigen profiel moet worden.
VB: mij ID=11 dan moet de link zijn: #/profiel.php?ID=11
En dat automatisch als ik op dat knopje druk


Ehhh?

Je geeft toch niet de hele tijd een id via de URL door? Deze haal je toch uit je sessie? Zoals hier gebeurt, zeg maar (maar dan met een kloppend HTML document).


Precies,

een 'eigen profiel' bekijken met de nadruk op EIGEN kan zonder id in de URL omdat je immers weet WIE er ingelogd is. Bovendien wil je iemand die zijn eigen profiel bekijkt mogelijk meer rechten geven dan ieder ander en dus moet je dit ook goed beveiligen.
 
Prospere Gaming

Prospere Gaming

27/01/2015 22:48:29
Quote Anchor link
Oke, en als ik een ledenlijst maak moet het weer wel met de id via de URL zoals bovenstaand voorbeeld?
 
- Ariën -
Beheerder

- Ariën -

27/01/2015 22:53:02
Quote Anchor link
Een lijst van leden die openbaar is, waarom zou je dan een id in de URL willen gebruiken?
Gewijzigd op 27/01/2015 22:54:24 door - Ariën -
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.