Link uit het database roepen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Joey Schroder

Joey Schroder

29/03/2012 10:02:31
Quote Anchor link
Hallo allemaal.

Ik heb een login systeem gemaakt plus een registreer pagina.

Wat ik nu wil luidt als volgt;

Ik maak voor mensen gebruikers aan. Dus Gebruikersnaam Wachtwoord en een link.

Zo gauw die persoon inlogt wil ik dat hij d.m.v een a href etc door wordt verbonden naar de link die ik hem gegeven heb.

Maar ik heb geen idee hoe ik van de juiste gebruiker de juiste link moet terug roepen.

Iemand misschien tips/tutorials?

Bijvoorbaat dank!
 
PHP hulp

PHP hulp

25/04/2024 19:34:25
 
- Ariën  -
Beheerder

- Ariën -

29/03/2012 10:07:03
Quote Anchor link
Een link is toch niet zo heel moeilijk?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "<a href='profile.php?id=".$_SESSION['id']."'>Klik hier om naar je profiel te gaan...</a>";
?>

De variabelen in dit voorbeeld zijn fictief, gezien ik onvoldoende informatie heb over wat waar je link naar toe moet verwijzen.
 
Joey Schroder

Joey Schroder

29/03/2012 10:09:56
Quote Anchor link
Als de informatie van de login form kom gaat het hier heen.

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
29
30
31
32
33
34
35
36
37
38
39
40
<?php

$host
="localhost";
$username="root";
$password="";
$db_name="test";
$tbl_name="members";


mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");


$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];


$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);


$count=mysql_num_rows($result);


if($count==1){

session_register("myusername");
session_register("mypassword");
header("location:login_succes.php");
}

else {
echo "<center><strong style='color:red'>Verkeerde gebruikersnaam en/of wachtwoord!</strong></center>";
}


?>


En als het goed is ga je naar login_succes.php
En dat is deze;

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
session_start();
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);

if(!session_is_registered(myusername))
{

header("location:main_login.php");
}

?>

</head>

<body>


<center><strong style="color:#00CC00">Login Successful</strong></center>


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

            mysql_connect ("localhost","root","");
            mysql_select_db("test");


?>
 
- Ariën  -
Beheerder

- Ariën -

29/03/2012 10:13:11
Quote Anchor link
Echt, gooi dat script weg, het is oud, barst van de fouten en verwijderde functies, missende foutafhandeling....

Dit script komt uit 2004 vermoed ik.

Ik kan je beter aanraden om naar www.phptuts.nl te gaan, en daar de beginners-tutorial te doen, om op deze manier goed PHP te leren.
Gewijzigd op 29/03/2012 10:14:32 door - Ariën -
 
Joey Schroder

Joey Schroder

29/03/2012 10:14:42
Quote Anchor link
Waar kan ik dan een goeie tutorial vinden van een login systeem met registreer pagina?

Dit werkt verder wel goed allen deze is verouderd;

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if(!session_is_registered(myusername))
?>
 
- Ariën  -
Beheerder

- Ariën -

29/03/2012 10:15:39
Quote Anchor link
Als het verouderd is, waarom gebruik je het dan?
Zodra je naar PHP 5.4.0 over gaat (en die wordt inmiddels al uitgerold over de hostingservers) is de functie in één klap weg....

Ga PHP leren, en benut die kennis voor een inlogsysteem. Als je dan weet hoe de sessies werken, dan weet je ook hoe je een simpel inlogsysteem moet bouwen. Daar heb je echt geen tutorials voor nodig.
Gewijzigd op 29/03/2012 10:17:15 door - Ariën -
 
Joey Schroder

Joey Schroder

29/03/2012 10:16:17
Quote Anchor link
Omdat dit php 5.0.3 is volgens mij en dat draait mn webserver ook.
 
- Ariën  -
Beheerder

- Ariën -

29/03/2012 10:17:55
Quote Anchor link
Joey Schroder op 29/03/2012 10:16:17:
Omdat dit php 5.0.3 is volgens mij en dat draait mn webserver ook.

Ga eens snel (laten) updaten. Ik heb geen idee of dit voor een webserver geldt (niet te hopen), of een localhost test-webservertje like XAMPP (ook niet te hopen)

Ikzelf draai op dit moment 5.3.10.....
Gewijzigd op 29/03/2012 11:57:21 door - Ariën -
 
Joey Schroder

Joey Schroder

29/03/2012 10:22:14
Quote Anchor link
Ik draait dit nu lokaal maar dit moet online komen en die webserver is 5.0.3. Het is niet mijn webserver maar van m'n stage.. Maar heb jij zo nog een handige tut voor mij die ik kan gebruiken?
 
- Ariën  -
Beheerder

- Ariën -

29/03/2012 10:27:15
Quote Anchor link
Ik heb geen idee hoe die webserver geinstalleerd is (welk OS, draait er Directadmin op of een ander control panel) Dus over hoe je die moet updaten zou ik je niet kunnen vertellen, tenzij je even wat meer erover verteld.

Ik hoop niet dat hier ook klanten op gehost worden. Zoja, dan raad ik met klem aan om een gespecialiseerd persoon er naar te laten kijken. (dit hoor je niet zelf te doen, zonder enige ervaring, op een productie-webserver)
Gewijzigd op 29/03/2012 10:28:55 door - Ariën -
 
Joey Schroder

Joey Schroder

29/03/2012 10:28:49
Quote Anchor link
Nee alleen eigen webpagina's maar dat updaten doe ik niet en wil ik ook niet doen want als er iets fout ga dat sta ik er helemaal zelf voor en aangezien ik nieuw ben in het php gebeuren etc wil ik dat liever niet. Maar ik bedoelde een tut voor een simpel login gebeuren.
 
- Ariën  -
Beheerder

- Ariën -

29/03/2012 10:31:02
Quote Anchor link
Daarom laat liever iemand anders met spoed deze updaten. Vanaf PHP 5.2.0 zijn er al veel verbeteringen doorgebracht. Draait die server op linux of windows?

En wat is er mis met PHP leren? Je komt vanzelf bij het sessie gedeelte aan, waarna je een login-script kan maken. Daar is geen op zich zelf staande login-tutorial voor nodig. Tenzij je het uitgebreider wilt.....

Maar ik heb meer het idee dat je op dit moment meer aan de basis van PHP nodig hebt.
Gewijzigd op 29/03/2012 10:32:21 door - Ariën -
 
Joey Schroder

Joey Schroder

29/03/2012 10:33:23
Quote Anchor link
Het is elke keer zo als ik een opdracht krijg dan begin ik er aan vol enthousiastme en dan ben ik net het laatste stukje nodig om het script af te maken en dan zit ik vast..

Maar je weet zo niet hoe ik van een bepaalde id de link kan pakken?
 
- Ariën  -
Beheerder

- Ariën -

29/03/2012 10:37:32
Quote Anchor link
Joey Schroder op 29/03/2012 10:33:23:
Het is elke keer zo als ik een opdracht krijg dan begin ik er aan vol enthousiastme en dan ben ik net het laatste stukje nodig om het script af te maken en dan zit ik vast..

En begin daarom met een PHP-tutorial. Je kan niet zomaar halverwege beginnen. Dan loop je vast.
Quote:
Maar je weet zo niet hoe ik van een bepaalde id de link kan pakken?

Uit de database halen met een query en fetchen? Wees eens duidelijk over wat je nou wilt?
Gewijzigd op 29/03/2012 10:37:50 door - Ariën -
 
Joey Schroder

Joey Schroder

29/03/2012 10:39:31
Quote Anchor link
Ok,

Ik maar een gebruiker aan voor jouw bijvoorbeeld.

Gebruikersnaam; Aar
Wachtwoord; test
Link; www.phphulp.nl


Ik stuur jouw die gegevens op en als jij inlogt moet jij vervolgens door gestuurd worden naar www.phphulp.nl

Zo moet dat werken.
 
- Ariën  -
Beheerder

- Ariën -

29/03/2012 10:44:00
Quote Anchor link
Ja, sla het op in de database. En haalt het op met mysql_query() en gebruik vervolgens mysql_fetch_assoc(), en stuur het door naar de gebruiker.
 
Joey Schroder

Joey Schroder

29/03/2012 11:25:08
Quote Anchor link
Ok Aar. In iedergeval al bedankt!

Dit is wat ik nu heb gemaakt,

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
29
30
31
32
33
34
35
36
37
<?php

$conn
= mysql_connect("localhost", "root");

if (!$conn) {
    echo "Unable to connect to DB: " . mysql_error();
    exit;
}

  
if (!mysql_select_db("test")) {
    echo "Unable to select mydbname: " . mysql_error();
    exit;
}


$sql = "SELECT link as username, password, link
        FROM   members "
;

$result = mysql_query($sql);

if (!$result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}


if (mysql_num_rows($result) == 0) {
    echo "No rows found, nothing to print so am exiting";
    exit;
}


while ($row = mysql_fetch_assoc($result))
{

    echo $row["link"];
}


mysql_free_result($result);

?>


Nu krijg ik dus van alle gebruikers de link te zien. Ik wil graag alleen de link zien van de ingelogde persoon. Hoe ga ik dan klaar spelen?
 
- Ariën  -
Beheerder

- Ariën -

29/03/2012 11:33:06
Quote Anchor link
WHERE in je query, waarmee je while onnodig is (je verwacht toch maar 1 result)

Overigens, exit is niet de juiste manier voor foutafhandeling.
Gewijzigd op 29/03/2012 11:33:54 door - Ariën -
 
Joey Schroder

Joey Schroder

29/03/2012 11:36:52
Quote Anchor link
Sorry Aar, hoe bedoel je WHERE in je query?

op lijn 15 hierboven?
 
- Ariën  -
Beheerder

- Ariën -

29/03/2012 11:40:59
 
Joey Schroder

Joey Schroder

29/03/2012 11:48:22
Quote Anchor link
Aaah ik dacht net YES nu heb ik het maar dan valt het weer vies tegen:P

Ik heb er dit van gemaakt

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= "SELECT username, password, link FROM members WHERE username = password ";
?>


Dan laat die de eerste link zien in de table.

wat doe ik nu nog verkeerd?
 

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.