#2 Simpel Forum compleet in te bouwen V.2

Door Marvin S, 21 jaar geleden, 10.720x bekeken

In deze toturial leer ik je met HÉÉL veel commentaar op een goede manier een simpel forum te maken in je eigen geschreven php code.. [By MarViiN's]

Gesponsorde koppelingen

Inhoudsopgave

  1. Inleiding
  2. Database klaarmaken & scriptje voor verbinding sch
  3. Registratie script maken.
  4. Inlogpagina maken
  5. Maak topic
  6. Voeg topic toe
  7. Forum overzicht
  8. Index maken
  9. Bekijk topic
  10. Reactie Toevoegen
  11. Gebruikers pagina en verwijder pagina
  12. Tot slot
  13. o nog een pagina over =P

 

Er zijn 66 reacties op '2 simpel forum compleet in te bouwen v2'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Thijs X
Thijs X
21 jaar geleden
 
Heb nog niet hele Tut doorgelezen maar viel me wel gelijk op dat je niks tegen SQL injection doet.

Maak gebruik van addslashes bij SQL Query's

Vooral wanneer je $_POST's of $_GET's in Query's gebruikt is dit erg belangrijk. ( dus bij alle Query's INSERT, UPDATE, DELETE, SELECT)
Marvin S
Marvin S
21 jaar geleden
 
@thijs..ik gebruik in alle gevallen mysql_real_escape_string..
bij diverse SELECTs is het niet nodig in dit geval maar als je hem helemaal gezien hebt zie je dat ik wel degelijk dingen doe tegen sql injection
Thijs X
Thijs X
21 jaar geleden
 
@ Marvin

Kijk eens onderaan: http://www.phphulp.nl/php/tutorials/2/492/1181/
Zie diverse Querys met $_GET erin maar nergens iets met mysql_real_escape_string of addslashes?
Zo staan er her en der nog een paar voorbeelden.


Edit:

Tip: Maak gebruik van de functie trim om te kijken of de velden zijn ingevoerd. Dat je niet 1 spatie kan invoeren en toch langs de checks komt.
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
@thijs
daar heb je gelijk in, de verwijder pagina is niet helemaal juist inderdaad..
zal het aanpassen..

edit:
trouwens..
voor elke query check ik de get waardes toch met: if(is_numeric($_GET['verwijdertopic'])) is trim beter dan is_numeric of moet ik die daar nog eens overheen halen? als: is_numeric(trim($_GET['verwijdertopic']))


edit2:
die trim zal ik zoiezo even inbouwen bij de topic toevoegen enzo want nu kun je inderdaad langs de checks komen thnxx!
Thijs X
Thijs X
21 jaar geleden
 
De functie trim doet heel andere dingen dan is_nummeric ;)
Gewoon altijd trim() gebruiken bij $_POST

Edit:


Ook belangrijk om even te kijken bijvoorbeeld of het topic wel eens bestaat

Voorbeeldje: http://www.phphulp.marviins.nl/forum_tut2/index.php?bekijktopic=1263

of dit:

http://www.phphulp.marviins.nl/forum_tut2/index.php?bekijktopic=
http://www.phphulp.marviins.nl/forum_tut2/index.php?bekijktopic=asdf

Dat ID bestaat niet maar toch geef je iets weer..
Na Query controleren dmv mysql_num_rows of die niet 0 is, en dan topic weer geven. Als die wel 0 is een error of bericht weergeven dat het topic niet bestaat.
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
@thijs
- niet bestaande nummers gefixed
- letters kunnen nu ook niet meer..
fixxed..
Cedric
Cedric
21 jaar geleden
 
0 +1 -0 -1
Ik vindt dit een hele goeie tutorial. Vooral voor de mensen die beginnen met MySQL. Alles wordt goed uitgelegt.
Jens V
Jens V
21 jaar geleden
 
0 +1 -0 -1
Even een vraagje; Ik was je tut aan't lezen.

Bij de registreer pagina kwam ik bij dit:
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
error_reporting(E_ALL);
include('verbind.php');
    if(isset($_POST['registreer'])){

        function
email_validator($email){
            if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
               {
$geldig = 'ja';   }
           else{$geldig = 'nee';}
        return $geldig;
        }
        function
email_check($email){
                $email_query = "SELECT gebruiker_email FROM gebruiker WHERE gebruiker_email='".$email."';";
                $email_sql   = mysql_query($email_query)or die(mysql_error());
                if(mysql_num_rows($email_sql) == 0)
                    {
$bezet =  'nee';}
                else{$bezet =  'ja' ;}
                return $bezet;
        }
        function
gebruikersnaam_check($gebruikersnaam){
                $gebruikersnaam_query = "SELECT gebruiker_naam FROM gebruiker WHERE gebruiker_naam='".$gebruikersnaam."';";
                $gebruikersnaam_sql   = mysql_query($gebruikersnaam_query)or die(mysql_error());
                if(mysql_num_rows($gebruikersnaam_sql) == 0)
                    {
$bezet =  'nee' ;}
                else{$bezet =  'ja';}  
                return $bezet;
        }


            if(trim($_POST['gebruikersnaam']) == ""){
                    echo 'U heeft geen gebruikersnaam ingevuld';
            }
elseif(gebruikersnaam_check($_POST['gebruikersnaam']) == 'ja'){
                echo 'Deze gebruikersnaam is al in gebruik, kies a.u.b een ander.';
               }
elseif($_POST['wachtwoord1'] != $_POST['wachtwoord2']){
                 echo 'De opgegeven wachtwoorden komen niet overeen';
               }
elseif($_POST['wachtwoord1'] == ""){
                 echo 'Er zijn geen wachtwoord<b>en</b> opgegeven';
               }
elseif(email_validator($_POST['emailadres']) == 'nee'){
                   echo 'Het ingevulde emailadres is niet geldig';
               }
elseif(email_check($_POST['emailadres']) ==  'ja'){
                   echo 'Er is al iemand geregistreerd met dit emailadres.';
               }
else{
                    $query = "INSERT INTO gebruiker
                              (gebruiker_naam, gebruiker_wachtwoord, gebruiker_email)
                              VALUES
                              ('"
.mysql_real_escape_string($_POST['gebruikersnaam'])."',
                                '"
.md5($_POST['wachtwoord1'])."',
                                '"
.$_POST['emailadres']."');";
                   $sql = mysql_query($query)or die(mysql_error());
                echo 'U bent succesvol aangemeld. Hieronder kunt u inloggen:';
                include('inloggen.php');              
               }
}
else{

    ?>

<form action="registreren.php" method="POST">
<table>
<tr><td>Gebruikersnaam:</td><td><input type="text" name="gebruikersnaam" value=""></td></tr>
<tr><td>Wachtwoord:</td><td><input type="password" name="wachtwoord1" value=""></td></tr>
<tr><td>Wachtwoord nogmaals:</td><td><input type="password" name="wachtwoord2" value=""></td></tr>
<tr><td>Emailadres:</td><td><input type="text" name="emailadres" value=""></td></tr>
<tr><td></td><td><input type="submit" name="registreer" value="Aanmelden">
</table>
</form>    
<?php
}

?>


In die code maak je je functies, maar je roep ze toch nergens aan...
neem nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
function email_check($email){
                $email_query = "SELECT gebruiker_email FROM gebruiker WHERE gebruiker_email='".$email."';";
                $email_sql   = mysql_query($email_query)or die(mysql_error());
                if(mysql_num_rows($email_sql) == 0)
                    {
$bezet =  'nee';}
                else{$bezet =  'ja' ;}
                return $bezet;
        }

?>

Hier maak je je functie, maar er staat nergens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
email_check($_POST['email']); //(of whatever tussen de haakjes..)
?>


Ben ik mis, of ga je hier alleen maar je functies maken?

Mvg,
Jens
Leroy Boerefijn
Leroy Boerefijn
21 jaar geleden
 
0 +1 -0 -1
leuk hoor :)

alleen ik zie het verschil tussen lid en moderator niet :P (behalve in je profiel)
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
@jens,
kijk eens op regel 31,37 en 39 van het stuk dat je net zelf post ;)

@leroy
een lid kan alleen dingen toevoegen. En een moderator kan reacties + complete topics verwijderen (zie de 'V' in een geopende topic). een admin kan reacties+topics verwijderen + users verwijderen..
Arjan Schuurman
Arjan Schuurman
21 jaar geleden
 
0 +1 -0 -1
Hmm in de test zie ik niet iets wat je meer kunt dan een gewoon account.
Jens V
Jens V
21 jaar geleden
 
0 +1 -0 -1
ok?, niet gezien;) :p
soz:)
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
@arjan..
nogmaals
zie de 'V' in een geopende topic

open eens een topic.. je ziet diverse blauw onderstreepte V's staan daarmee verwijder je iets.. dit kan een moderator maar een normaal lid niet..
VAL
VAL
21 jaar geleden
 
0 +1 -0 -1
@Marvin
Ten eerste Complimenten Marvin. Ik vind dat je goed je tijd besteed hebt en ik vind sommige commentaar niet terecht maar dat zal hun een worst wezen :>.
Ik had alleen een vraagje.. Hoe ga je je eigen afbeelding uploaden? en wat is de bedoeling van Update knopje in dit geval?
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
@VAL
dankje voor je compliment..
je kunt daar een link invullen naar een plaatje op het web..
daarna druk je op update en staat dat plaatje in het profiel..
Yves
yves
21 jaar geleden
 
0 +1 -0 -1
ik krijg de hele tijd een error:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/www/infusoria.freehostia.com/verbind.php:6) in /home/www/infusoria.freehostia.com/inloggen.php on line 15

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/www/infusoria.freehostia.com/verbind.php:6) in /home/www/infusoria.freehostia.com/inloggen.php on line 15

Warning: Cannot modify header information - headers already sent by (output started at /home/www/infusoria.freehostia.com/verbind.php:6) in /home/www/infusoria.freehostia.com/inloggen.php on line 19

ik heb het voorbeeld volledig overgenomen en steeds heb ik deze error....

Wat is er nu verkeerd?
Jens V
Jens V
21 jaar geleden
 
0 +1 -0 -1
Je hebt een output voor je sessie staan..
Kijk hier eens naar:)
Bob
bob
21 jaar geleden
 
0 +1 -0 -1
// dit krijg ik bij toevoegen reactie:

Parse error: parse error, unexpected T_VARIABLE in ...../toevoegen_reactie.php on line 27

// en dit op het begin na de login:

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at ........../verbind.php:12) in ........../inloggen.php on line 17

kan iemand mij hiermee helpen??
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
@bob
toevoegen_reactie heeft toch geen eens 27 lines? stuur de code eens in een berichtje naar me die jij gebruikt hebt..dan post ik mijn reactie hier wel.. (anders wordt dit commentsstuk zo uitgebreid lang..)
Bob
bob
21 jaar geleden
 
0 +1 -0 -1
op regel 27 is

if($resultaat){
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
@bob kijk even in de tutorial ik heb de pagina iets aangepast..
ik denk dat je een oudere versie van php hebt maar dit moet weer werken zo met deze nieuwe schrijfwijze.. laat maar even weten..
Bob
bob
21 jaar geleden
 
0 +1 -0 -1
ik keek even in de totural en ik zag dat ik een andere code had.
Ferdy
Ferdy
21 jaar geleden
 
0 +1 -0 -1
je kan tegen sql injection ook met foreach de get/post/cookie superglobals doorlopen en op alle waardes addslashes doen
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
@ferdy,
dat kan.. ik heb het op een andere manier aangepakt ;)
Martiveen -
Martiveen -
21 jaar geleden
 
0 +1 -0 -1
$reactie_bericht = trim(mysql_real_escape_string(htmlentities(wordwrap($_POST['reactie_bericht'],100, "\n", true))));

Kan dat ook of moet je het zo doen?

$reactie_bericht = trim($_POST['reactie_bericht']);

$reactie_bericht = wordwrap($reactie_bericht, 100, "\n", true);

$reactie_bericht = mysql_real_escape_string($reactie_bericht);

$reactie_bericht = htmlentities($reactie_bericht);

want dat daar boven lijkt mij makkelijker of is dat niet mogenlijk?

Btw vette tutorial ik ga binnekort eens kijken of iek er zelf eentje kan maken ^^
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
@martijn
dat is idd hetzelfde..
in de tutorial heb ik bewust gekozen voor deze manier zodat de echte beginners zien dat het in stappen gebeurd.. maar zo kort als jij doet is hetzelfde.. leuk dat je het een goeie tutorial vind.. daar doe ik het voor toch..

suc6 dan maar
Martiveen -
Martiveen -
21 jaar geleden
 
0 +1 -0 -1
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Documents and Settings\Martijn van Wensveen\My Documents\www\forums\verbind.php:6) in C:\Documents and Settings\Martijn van Wensveen\My Documents\www\forums\inloggen.php on line 15

Warning: Cannot modify header information - headers already sent by (output started at C:\Documents and Settings\Martijn van Wensveen\My Documents\www\forums\verbind.php:6) in C:\Documents and Settings\Martijn van Wensveen\My Documents\www\forums\inloggen.php on line 19

Ik krijg deze error aangezien dat ik alles exact heb overgenomen denk ik dat het aan de instellingen licht van me server weet jij wat ik moet veranderen om het werkende te krijgen?
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
@martijn
lees even de reactie van jens ergens hierboven..
daar staat jouw antwoord..

suc6
Martiveen -
Martiveen -
21 jaar geleden
 
0 +1 -0 -1
Ik snap echt niet wat ik fout doe als ik daar in dat html bestandje kijk zie ik dat er geen html codes of echo gebruikt mag worden voordat je session_start() of header() mag gebruiken maar dat kan ik helemaal nergens vinden. deze code heb ik :
verbinden.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
mysql_connect("babla", "bloebloe", "")or die('HALP geen connectie met server');

mysql_select_db("forum")or die('HALP geen connectie met database');

?>

inloggen.php
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
<?php
error_reporting(E_ALL);
include('verbind.php');
// bovenstaan is om alle foutmeldingen op het beeldscherm te zetten.
// en we moeten natuurlijk de verbind.php include omdat we verbinding willen
// met de database

if(isset($_POST['inloggen']))
{

   $gebruiker_query = "SELECT * FROM gebruiker WHERE gebruiker_naam = '".mysql_real_escape_string(trim($_POST['gebruikersnaam']))."';";
   $gebruiker_sql   = mysql_query($gebruiker_query)or die(mysql_error());
   $gebruiker_tellen= mysql_num_rows($gebruiker_sql);
    if ($gebruiker_tellen == 1){
        $rij = mysql_fetch_array($gebruiker_sql);
               if(md5($_POST['wachtwoord']) == $rij['gebruiker_wachtwoord']){
                session_start();
                   $_SESSION['gebruiker_id']   = $rij['gebruiker_id'];
                   $_SESSION['gebruiker_naam'] = $rij['gebruiker_naam'];
                   $_SESSION['gebruiker_rank'] = $rij['gebruiker_rank'];
                header('Location: index.php');
               }
else{
                   echo 'Fout bij het inloggen. Probeer het opnieuw';
               }
    }
else{
        echo 'Fout bij het inloggen. Probeer het opnieuw';
    }
}
else{
    echo '<table align="center"><form method="POST" action="inloggen.php">';
    echo '<tr><td><input type="text" name="gebruikersnaam" value="gebruikersnaam"></td>';
    echo '<td><input type="password" name="wachtwoord" value="wachtwoord"></td>';
    echo '<td><input type="submit" name="inloggen" value="Inloggen"></td>';
    echo '<td><a href="?registreren">registreren</a></td></tr></form></table>';
}

?>

kan jij mij zeggen wat ik verkeerd heb aangeroepen?
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
@martijn
stuur je index.php eens naar mij toe in een berichtje (PM) daar wordt inloggen.php ten slotte geinclude..dus als daar al iets word ge?cho'ed VOOR die include krijg je ook die fout die jij krijgt..
Rudie dirkx
rudie dirkx
21 jaar geleden
 
0 +1 -0 -1
Jammer dat je nog steeds niet checkt of wel heel je formulier is gepost (je checkt alleen of de controle variabele bestaat). Wat nou als je alleen de controle variabele post en de rest van het form niet? Wat heb je dan gecontroleerd?

Misschien kan je ook een leuke database abstractie laag gebruiken. Misschien staat er wel een leuke op phphulp.

Heb geen geduld om heel de tut door te lezen, maar het ziet er niet slecht uit, al is het niet mijn stijl.
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
De demo lag er even een week ofzo tussenuit zie ik net..
hij draait weer op volle toeren..
Rick
Rick
21 jaar geleden
 
0 +1 -0 -1
Heee, zit er z???r netjes uit moet ik zeggen;)

Alleen heb ik 1 ding op te merken en dan wel dit
session_start();
$_SESSION['gebruiker_id'] = $rij['gebruiker_id'];
$_SESSION['gebruiker_naam'] = $rij['gebruiker_naam'];
$_SESSION['gebruiker_rank'] = $rij['gebruiker_rank'];

tip voor iedereen, NOOIT, MAAR DAN OOK NOOIT session_start(); gebruiken. Veel veiliger is dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
// session.inc.php
session_start();
ini_set('session.save_path', '/home/sijmen/tmp');
ini_set('session.name', 'hash'); # try to hide the session name..
if (!isset($_SESSION['ip']))
  $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
if ($_SESSION['ip'] != $_SERVER['REMOTE_ADDR'];
  trigger_error("Session Hijacking detected!", E_USER_WARNING);
?>


include bovenstaande script op elke pagina gewoon:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
include 'session.inc.php';
// ..
?>


ipv 'session_start()' op iedere pagina

(Trouwens, dit is niet van mijzelf: alle credits gaan naar Sijmen Ruwhof; http://www.phpfreakz.nl/artikelen.php?aid=106&page=14 )
Jelmer -
Jelmer -
21 jaar geleden
 
0 +1 -0 -1
Voordeel is dat het weer een beetje 'veiliger' is.

Wachtwoorden worden onversleuteld verstuurd, hoe moeilijk kan het zijn om er eentje te onderscheppen? Daarnaast zou ik een aanval altijd vanuit hetzelfde netwerk proberen uit te voeren. Denk aan een bedrijfsnetwerk of een draadloos thuisnetwerk. Daar biedt deze methode geen beveiliging tegen.

Je blokkeert meteen het gebruik van sommige proxy-systemen (bijvoorbeeld Tor) en even wisselen van netwerk (bedraad naar draadloos vd buren) is er ook niet meer bij zonder opnieuw in te loggen. Zo is ook een router-reset niet prettig. Veel netwerkaanbieders (vooral in Belgi?) geven je om de zoveel tijd een ander IP-adres. AOL bijv. om de zoveel tijd, anderen bij iedere keer dat de router zich aanmeld bij de service provider.

En even serieus, hoe goed moet zo'n forum nu werkelijk beveiligd zijn? Zo goed dat gebruikersgemak eronder mag lijden?

De tip om session_save_path te verplaatsen is trouwens wel een goeie. Dat voorkomt het lekken van 'persoonlijke informatie' waneer je hosting provider amateuristisch bezig is. En die situatie is een stuk re?ler dan iemand die sessies steelt.
Rick
Rick
21 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
// session.inc.php
session_start();
ini_set('session.save_path', '/home/sijmen/tmp');
ini_set('session.name', 'hash'); # try to hide the session name..
?>


Dus jij wilt dit ervan maken? Hmm, eigenlijk heb je wel gelijk.
Roderik Roderik
Roderik Roderik
21 jaar geleden
 
0 +1 -0 -1
ok
 
0 +1 -0 -1
Voor de mensen die errors krijgen van headers die kunnen het beste helemaal bovenaan als eerste na de opening van php natuurlijk ob_start(); zetten
Xander
Xander
21 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
case 3: $rank = "Lid"; break;
// als $rij['gebruiker_rank'] = 3 $rank wordt: beheerder
 }
?>


Sinds wanneer worden leden ook beheerders? =D
Creadion Creadion
Creadion Creadion
21 jaar geleden
 
0 +1 -0 -1
Foutje in de uitleg: http://www.phphulp.nl/php/tutorials/2/492/1181/

case 1: $rank = "Beheerder"; break;
// als $rij['gebruiker_rank'] = 1 $rank wordt: beheerder
case 2: $rank = "Moderator"; break;
// als $rij['gebruiker_rank'] = 2 $rank wordt: moderator
case 3: $rank = "Lid"; break;
// als $rij['gebruiker_rank'] = 3 $rank wordt: beheerder

dus rank 1 en 2 is zijn admins en rank 2 mod? :P

edit: had de reactie hierboven niet gezien :$
Marvin S
Marvin S
21 jaar geleden
 
0 +1 -0 -1
Tsja dat is inderdaad een tikfoutje in de comment... (copy/paste error)
geen scriptfout in ieder geval..
bedankt voor het melden.. zal het even aanpassen
Mitch
Mitch
21 jaar geleden
 
0 +1 -0 -1
Weetje, eigelijk wil ik zown forum als ze hier ook hebben.
Gewoon simpel en goed (Admin panel)
Bastiaan
Bastiaan
21 jaar geleden
 
0 +1 -0 -1
Ik krijg em toch niet helemaal lekker aan de praat. Ik krijg geen foutmeldingen maar als ik op index.php zit in mijn browser en ik druk op een topic, blijf ik gewoon index.php zien, dit geldt voor alles waar ik op druk.
Dit staat er in de URL: localhost/forum_test/index.php?bekijk_topic=1

Ik weet niet of dat goed is, als iemand mij zou kunnen helpen, heel erg bedankt. Heb al van alles geprobeerd maar kom er niet meer uit!

Bastiaan
Mitch
Mitch
21 jaar geleden
 
0 +1 -0 -1
Ik heb een vraag
ik heb id 2 gewist!
Iemand die regristeerd zich en dat krijg hij id 3
ik wil dat de id's gevultworden van 1 tm 10000 :)
hoe moet ik dat doen?
Ricardo
ricardo
21 jaar geleden
 
0 +1 -0 -1
hoe kan ik iemand admin maken?
dit snap ik niet helemaal en ik krijg ook die error

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Documents and Settings\Martijn van Wensveen\My Documents\www\forums\verbind.php:6) in C:\Documents and Settings\Martijn van Wensveen\My Documents\www\forums\inloggen.php on line 15

Warning: Cannot modify header information - headers already sent by (output started at C:\Documents and Settings\Martijn van Wensveen\My Documents\www\forums\verbind.php:6) in C:\Documents and Settings\Martijn van Wensveen\My Documents\www\forums\inloggen.php on line 19

maar goed die los ik wel op alleen hoe maak ik iemand admin?
Gr Ricardo
Ricardo
ricardo
21 jaar geleden
 
0 +1 -0 -1
hallo?
Rutje1
rutje1
21 jaar geleden
 
0 +1 -0 -1
hoi ricardo,

Ik ben ook deze tut aan het uitproberen. Het is erg handig en goed uitgelegd.
Op veel servers staat phpMyAdmin. Als je hier gebruik van kunt maken kun je inloggen en naar de database gaan. Klik bij gebruikers op verkennen. Daarna kun je als je de gebruikers ziet staan de velden wijzigen. Hier kun je dus ook de rank wijzigen van 3 naar bijv. 1 (1=admin).
Succes
Ricardo
ricardo
21 jaar geleden
 
0 +1 -0 -1
Bedankt ! MvGr Ricardo had de hoop bijna opgegeven maar het is nu gelukt!
Mitch
Mitch
21 jaar geleden
 
0 +1 -0 -1
Ik kan geen members verwijderen hebben jullie dat ook?
The Ultimate
The Ultimate
20 jaar geleden
 
0 +1 -0 -1
@Mitch:
Ik kan ook geen members verwijderen.

Ik kan ook geen plaatje (avatar) toevoegen.

In gebruiker.php staat:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="text" name="afbeelding"></td><td>


moet dit niet zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="file" name="afbeelding"></td><td>


Hoe kun je anders een afbeelding toevoegen?
Jona
jona
20 jaar geleden
 
0 +1 -0 -1
Amai chique gedaan Marvin!!:D
alleen 1 klein probleemke: als ik een foto wil uploaden, dan krijg ik geen afbeelding te zien mar alleen zon rechthoek me daarin een driehoek, cirkel en vierkant erin:S
Krijn
krijn
20 jaar geleden
 
0 +1 -0 -1
en dit:

Access denied for user 'xxx'@'localhost' (using password: NO)

wat betekend dat?
Wouter K
Wouter K
20 jaar geleden
 
0 +1 -0 -1
dat er geen paswoord word gebruikt en jij dit wel doet (database)
Robert Deiman
Robert Deiman
20 jaar geleden
 
0 +1 -0 -1
Is het niet zo dat hij zelf geen password invoert, maar dat die er wel hoort te zijn? In elk geval moet je de gegevens voor de verbinding met de database even goed nakijken.
Empec
empec
19 jaar geleden
 
0 +1 -0 -1
Ik heb een bestaand login systeem in dit forum gebouwd, maar bij een topic/reactie posten, post hij de gebruikers_id/gebruikers_naam niet.
En ik heb geen flauw idee hoe ik dat wel werkend krijg.

De volgende link is mijn login
http://evolt.org/node/60384

Dat is het login systeem wat ik gebruik.

Wat moet ik doen om by "Posted by" de username van de poster te laten verschijnen?

Alvat bedankt!
Je kan mij ook altijd toevoegen op msn als dat makkelijker is: jeremy a grolman punt nl
Victor Php
Victor Php
18 jaar geleden
 
0 +1 -0 -1
Goede tut!.. Alleen doet het voorbeeld het bij mij niet..
Da?s wel jammer, maar goede tutorial!
B
B
18 jaar geleden
 
0 +1 -0 -1
Marvin, bedankt voor de uitleg. Het is een mooi opstapje om zelf mee verder te gaan. Top.
Bob
Bob
18 jaar geleden
 
0 +1 -0 -1
He marvin, een mooie tutorial, mijn complimenten.

Maar ik heb het volgende probleem. Alles doet het wel bij mij, maar ik kan geen gebruikers verwijderen en ik heb geen idee hoe dat je moet aanpassen.

Hopelijk heb je hier een antwoord op.
Ashbet Danmark
Ashbet Danmark
17 jaar geleden
 
0 +1 -0 -1
Goed gedaan. Maar als ik mijn forum bezoek verschijnt er een lege pagina. Moet ik handmatig nog iets doen? Of doet die php code dat?
Niek Kasius
Niek Kasius
17 jaar geleden
 
0 +1 -0 -1
Als je de registratie invuld word je automaties als lid(3) geregistreerd. Maar hoe kun je inloggen als beheerder(1) of moderator(2) ik heb in de database mijn gebruikers_rank zelf maar ff gewijzigd om de boel te testen, maar kan dat ook anders, want ik zie nergens een apparte inlog voor de beheerder en moderatos staan
Dalando De Zuil
Dalando De Zuil
17 jaar geleden
 
0 +1 -0 -1
Quote:
Als je de registratie invuld word je automaties als lid(3) geregistreerd. Maar hoe kun je inloggen als beheerder(1) of moderator(2) ik heb in de database mijn gebruikers_rank zelf maar ff gewijzigd om de boel te testen, maar kan dat ook anders, want ik zie nergens een apparte inlog voor de beheerder en moderatos staan


Bedenk wel, deze tut is 3 jaar oud... de maker hiervan is misschien al weg.
- Ariën  -
- Ariën -
17 jaar geleden
 
0 +1 -0 -1
Nee hoor, hij was op 30/08/2010 20:25:15 nog aanwezig :-)

Grote kans dat hij nog wel eens terug komt.
Jeffrey Barn
jeffrey Barn
17 jaar geleden
 
0 +1 -0 -1
Erec error in register
Wouter J
Wouter J
17 jaar geleden
 
0 +1 -0 -1
@jeffrey, dit script is al 4 jaar oud. Je moet dus niet verwachten dat alles nog goed is en goed beveiligt is.
Jordi Kroon
Jordi Kroon
17 jaar geleden
 
0 +1 -0 -1
de php versie is vernieuwd
de mysql versie is vernieuwd

sommige functies zijn verwijderd
sommige vernieuwd
Hermes Trismegistus
Hermes Trismegistus
16 jaar geleden
 
0 +1 -0 -1
Thanx Marvin! Gewoon to the point, erg praktisch en bruibaar :)

Groetjes,
Hermes
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Jordi Kroon
Jordi Kroon
16 jaar geleden
 
0 +1 -0 -1
ik zou dit script niet meer gebruiken.
reden:
verouderd

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. Inleiding
  2. Database klaarmaken & scriptje voor verbinding sch
  3. Registratie script maken.
  4. Inlogpagina maken
  5. Maak topic
  6. Voeg topic toe
  7. Forum overzicht
  8. Index maken
  9. Bekijk topic
  10. Reactie Toevoegen
  11. Gebruikers pagina en verwijder pagina
  12. Tot slot
  13. o nog een pagina over =P

Labels

  • Geen tags toegevoegd.

PHP tutorial opties

 
 

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.