[PHP]Profielen pagina URL

Status
Niet open voor verdere reacties.

karimbizid

Gebruiker
Lid geworden
19 dec 2006
Berichten
557
Hallo allemaall,

Ik ben bezig om mijn een profielensysteem te schrijven in PHP.
Ik ben dus begonnen met het maken van een My Sql tabel e.d.

Nu wil ik het volgende:
Als je een profielpagina (pagina die de tabel uitleest) wilt zien moet je naar de volgenden URL gaan:
blabla.nl/profielen.php?user=gebruiker

Hoe krijg ik dit voor elkaar?
Alvast bedankt,
Karim
 
gebruiker zoeken in database:

PHP:
<?php
if(isset($_GET['user']) && ($_GET['user'] != "")) {

    mysql_connect("localhost", "user", "pass") or die (mysql_error());
    mysql_select_db("database") or die (mysql_error());

    // controleren of user bestaat
    $qExists = mysql_result(mysql_query("SELECT count(user) FROM tabel WHERE user='".$_GET['user']."'"),0); 
    if($qExists == 0)
        
        // user bestaat niet!
        echo 'De gebruiker bestaat helaas niet';
	
    else
    {
        
        // verder gaan met het script, user bestaat!
        ## hier alle gegevens van de gebruiker oproepen! ##

    }

} else {

    // geen goede gebruiker opgegeven
    echo 'Er is geen geldige gebruiker opgegeven!';

}
?>

ik hoop dat ie werkt, heb niet getest

[edit]
Je kan ook gewoon de verbinding met de database weglaten als je al eerder een verbinding maakt!!
 
Laatst bewerkt:
@compudoc:
PHP:
if(isset($_GET['user']) && ($_GET['user'] != "")
2x controleren of de variabele leeg is?

En die ELSE op het einde is een beetje verkeerd... Anders krijg je elke keer als je een pagina opvraagd de melding "Er is geen geldige gebruiker opgegeven!" aangezien $_GET['user] alleen wordt gebruikt op de profielen pagina.

Je zou beter in die ELSE de lijst met gebruikers weer kunnen geven.

PHP:
<?php 
if(isset($_GET['user'])) { 

    mysql_connect("localhost", "user", "pass") or die (mysql_error()); 
    mysql_select_db("database") or die (mysql_error()); 

    // controleren of user bestaat 
    $qExists = mysql_result(mysql_query("SELECT count(user) FROM tabel WHERE user='".$_GET['user']."'"),0);
    if($qExists == 0) {
         
        // user bestaat niet! 
        echo 'De gebruiker bestaat helaas niet'; 
    } 
    else 
    { 
         
        // verder gaan met het script, user bestaat! 
        ## hier alle gegevens van de gebruiker oproepen! ## 

    } 

} else { 
  $listQuery = "SELECT * FROM users";
  $listResult = mysql_query($listQuery) or die (mysql_error());
  while($listRow = mysql_fetch_array($listResult))
  {
    echo'<a href="?users='. $listRow['gebruikersnaam'] .'">'. $listRow['gebruikersnaam'] .'</a><br />';
  }
}
?>
Wellicht dat het zo iets uitgebreider is.
 
Je zou beter in die ELSE de lijst met gebruikers weer kunnen geven.
Dat maakt opzich niet uit wat je daarin zet omdat je misschien beter een foutmelding kan laten zien dat de gebruikers weten waarom ze de "user" pagina niet zien. Maar het is idd een goede optie om de ledenlijst te laten zien.

2x controleren of de variabele leeg is?
ik bedoelde eigenlijk, 1x kijken of variabele bestaat en 2x of er niet alleen stond ?user=

maar toch bedankt dat je het verbeterd hebt (Ook in het voordeel v/d T.S.):D
 
Laatst bewerkt:
Oke, bedankt!
Heb het nog niet getest, maar dat ga ik zometeen zeker doen!

Alleen is dit (volgens mij) nog niet de manier om via: profielen.php?user=gebruiker de profielpagina van een gebruiker op te roepen.

Of heb ik het verkeerd?
Alvast bedankt,
Karim

[Edit]Sorry ik heb weer eens voor de helft gekeken.
Ik ga hem zo ff proberen
 
Laatst bewerkt:
Ik heb gelijk nog een vraagje :o

Ik wil op de profiel pagina ook de datum laten zien waarop de gebruiker zich heeft geregistreerd.
Hoe doe ik dit?
Ik heb in m'n tabel wel al een kolom ervoor aangemaakt.
Moet ik de tabel laten kijken op welke datum er wat binnenkomt?
of moet ik de registratiepagina de datum mee laten sturen?

Alvast bedankt:thumb: ,

Karim
 
of moet ik de registratiepagina de datum mee laten sturen?
Die maar doen, volgens mij kan de eerste niet eens...

Het makkelijkste hiervoor is om de date(); functie te gebruiken.
Je kunt dan het beste de notatie
PHP:
$RegDate = date("Y-m-d"); // Resultaat kan zijn 2007-07-15
gebruiken, dat maakt het makkelijker sorteren. Voor het normaal weergeven (15-07-2007) moet je even een trucje gebruiken...
PHP:
$RegDate = explode("-", $database['register_date']);
$NormalDate = $RegDate[2] .'-'. $RegDate[1] .'-'. $RegDate[0];
echo $NormalDate;

compudoc zei:
ik bedoelde eigenlijk, 1x kijken of variabele bestaat en 2x of er niet alleen stond ?user=
Dan is het nog dubbel, je controleert immers daarna nog of de user wel in de database voorkomt. Als je dus ?user= doet dan gaat hij in de database zoeken naar een gebruiker die {leeg} heet. Snap je wat ik bedoel?
 
gebruiken, dat maakt het makkelijker sorteren. Voor het normaal weergeven (15-07-2007) moet je even een trucje gebruiken...
PHP:
$RegDate = explode("-", $database['register_date']);
$NormalDate = $RegDate[2] .'-'. $RegDate[1] .'-'. $RegDate[0];
echo $NormalDate;
en wat met in je db gewoon een timestamp te zetten en dan:
PHP:
$RegDate = date("d-m-Y", $database['register_date']);
timestamp heeft als voordeel raw info te zijn, en dus makkelijker formatteerbaar naargelang de situatie waarin je de datum nodig hebt lijkt me.
Of als je database al in gebruik is kan je mss dit gebruiken? (formaat in db = Y-m-d (LET OP: kleine d en m -> dus leading zero's!))
PHP:
$RegDate = date("d-m-Y", strtotime($database['register_date']));

--Johan
 
Okee bedankt :thumb:

Heb alleen alweer een nieuw probleem :p

Ik dacht dat Google ermee overspoelt zou staan , maar tot m'n verbazing staat er niets zinnigs.

Ik heb een HTML aanmeld form gemaakt. Nu wil ik hetgeen wat ingevuld is bij Gebruikersnaam in m'n myy sql tabel onder $user komt.

Hoe doe ik dit?
Alvast bedankt,
Karim
 
SQL >

INSERT INTO #databasenaam(veld1naam, veld2naam, veld3naam, enzz)
VALUES(#waarde1, #waarde2, #waarde3)


Hierbij zijn de veldnamen de namen in de database waard je de gegevens wilt neerzetten
onder VALUES geef je de waardes aan die je er wilt neerzetten. Hiermee zal waarde1 onder de kolom veldnaam1 worden geplaatst.

INSERT INTO gebruiker(user, wachtwoord)
VALUES($_POST[gebruikersnaam], $_POST[wachtwoord])

zou dan een mogelijke oplossing kunnen zijn =)

Hiervoor wil je wel tussen je HTML-form (liefst PHP-form) een PHP-pagina hebben die de gegevens via SQL in de database gooit.
 
Ik ben nogal nieuw in de PHP wereld en snap hier nog niet heel veel van.
De pagina waar m'n HTML form in staat is een PHP pagina.
Dus wellicht kan die pagina al de gegevens naar de tabel sturen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan