Vraag over scheiden van php bestand

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bart Matsko

Bart Matsko

28/10/2013 21:37:06
Quote Anchor link
Hallo,

Ik probeer me met kleine beetjes te verdiepen in php als ik dat nodig heb en ik wil graag een soort admin panel maken, daarin kan ik dan gewoon tekst typen en dat hij dat dan zelf op de website zet. Hiervoor heb ik wel eerst een soort login system nodig. Hiervoor zocht ik op google en kwam ik bij een script van phphulp.nl uit.
Nu mijn vraag, de login.php pagina bestaat ook uit de inhoud van de pagina waar je op komt als je ingelogd bent. Ik zou dit graag anders zien maar ik weet niet goed hoe ik dit moet doen.

Ik zou graag willen:
* index.php -> de inhoud
* login.php -> alleen het inloggen

Nu bestaat alles in de login.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
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?
    include("config.php");
?>

<html>

<head>
    <title>Login</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<?
if($_GET['p'] == "uitloggen")
{

    $_SESSION = array();
    header("Location: ".$_SERVER['PHP_SELF']."");
}


elseif($_GET['p'] == "wijzig_pass")
{

    if($_POST['wijzig_pass'])
    {

        if(strlen($_POST['password']) < 6 || strlen($_POST['password']) > 40)
        {

            echo "<b><i>Het wachtwoord is minder als 6 of meer als 40 tekens</i></b><br><br>";
            echo "Klik <a href=\"javascript:history.back(-1)\">hier</a> om terug te gaan";
        }

        
        else
        {
            $sql = "UPDATE `inlogsysteem` SET `password` = '".md5($_POST['password'])."' WHERE `id` = '".$_SESSION['id']."'";
            mysql_query($sql);
            header("Location: ".$_SERVER['PHP_SELF']."");
        }
    }

    
    else
    {
        echo "<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\">";
        echo "<form action=\"\" method=\"post\">";
        echo "<a href=\"".$_SERVER['PHP_SELF']."\">Terug</a><br><br>";
        echo "
            <tr>
                <td>Nieuwe Password</td>
                <td><input type=\"password\" name=\"password\"></td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td align=\"right\"><input type=\"submit\" name=\"wijzig_pass\" value=\"Wijzig!\"></td>
            </tr>
        "
;
        echo "</form>";
        echo "</table>";
        echo "<span style=\"font-size:8pt;\">* Niet op 'Enter' drukken maar<br> met de muis klikken op 'Wijzig!'</span>";

    }
}


elseif($_SESSION['login'] == "1" && $_SESSION['status'] == "a")
{

    echo "Welkom ".ucfirst($_SESSION['naam'])." !<br><br>";
    echo "[Admin]<br><br>";
    echo "<a href=\"admin.php\" target=\"_blank\">Admin Locatie</a><br><br>";
    echo "<a href=\"".$_SERVER['PHP_SELF']."?p=wijzig_pass\">Wijzig Password</a><br><br>";
    echo "<a href=\"ledenlijst.php\"><b>Ledenlijst</b><br><br>";
    echo "<a href=\"".$_SERVER['PHP_SELF']."?p=uitloggen\">Uitloggen</a>";
}


elseif($_SESSION['login'] == "1" && $_SESSION['status'] == "m")
{

    echo "Welkom ".ucfirst($_SESSION['naam'])." !<br><br>";
    echo "[Moderator]<br><br>";
    echo "<a href=\"".$_SERVER['PHP_SELF']."?p=wijzig_pass\">Wijzig Password</a><br><br>";
    echo "<a href=\"ledenlijst.php\"><b>Ledenlijst</b><br><br>";
    echo "<a href=\"".$_SERVER['PHP_SELF']."?p=uitloggen\">Uitloggen</a>";
}


elseif($_SESSION['login'] == "1" && $_SESSION['status'] == "n")
{

    echo "Welkom ".ucfirst($_SESSION['naam'])." !<br><br>";
    echo "<a href=\"".$_SERVER['PHP_SELF']."?p=wijzig_pass\">Wijzig Password</a><br><br>";
    echo "<a href=\"ledenlijst.php\"><b>Ledenlijst</b><br><br>";
    echo "<a href=\"".$_SERVER['PHP_SELF']."?p=uitloggen\">Uitloggen</a>";
}


else
{

if($_POST['login'])
{

    $username = addslashes($_POST['username']);
    $md5_ww = md5($_POST['password']);
    $sql = "SELECT * FROM `inlogsysteem` WHERE `username` = '".$username."' AND `password` = '".$md5_ww."'";
    $query = mysql_query($sql);
    
    if(mysql_num_rows($query) == 1)
    {

        $username = addslashes($_POST['username']);
        $md5_ww = md5($_POST['password']);
        $statussql = "SELECT * FROM `inlogsysteem` WHERE `username` = '".$username."' AND `password` = '".$md5_ww."'";
        $statusquery = mysql_query($statussql);
        $status = mysql_fetch_assoc($statusquery);
        
            if($status['status'] == "n")
            {

                $_SESSION['login'] = "1";
                $_SESSION['status'] = "n";
                $_SESSION['naam'] = $username;
                $_SESSION['id'] = $status['id'];
            }

            
            elseif($status['status'] == "m")
            {

                $_SESSION['login'] = "1";
                $_SESSION['status'] = "m";
                $_SESSION['naam'] = $username;
                $_SESSION['id'] = $status['id'];
            }


            elseif($status['status'] == "a")
            {

                $_SESSION['login'] = "1";
                $_SESSION['status'] = "a";
                $_SESSION['naam'] = $username;
                $_SESSION['id'] = $status['id'];
            }

        
        header("Location: ".$_SERVER['PHP_SELF']."");
    }


    else
    {
        echo "Gebruikersnaam en/of wachtwoord verkeerd<br><br>";
    }
}

    echo "
    <table border=\"0\">
    <form action=\""
.$_SERVER['PHP_SELF']."\" method=\"post\">
    <tr>
        <td>Username</td>
        <td><input type=\"text\" name=\"username\" size=\"15\"></td>
    </tr>
    <tr>    
        <td>Password</td>
        <td><input type=\"password\" name=\"password\" size=\"15\"></td>
    </tr>
    <tr>
        <td align=\"right\"><input type=\"button\" name=\"registreer\" value=\"Registreer!\" onClick=\"window.open('registreer.php','Registreer_Popup','width=250,height=300,scrollbars=yes')\"></td>
        <td align=\"right\"><input type=\"submit\" name=\"login\" value=\"Login!\"></td>
    </tr>
    </form>
    </table>
    "
;
}

ob_end_flush();
?>


mvg,
 
PHP hulp

PHP hulp

18/12/2024 23:59:07
 
Roel -

Roel -

28/10/2013 23:28:30
Quote Anchor link
Fix eerst eens die ob_-functies door je headers gewoon bovenin te zetten, dat is erg belangrijk.
 
Bart Matsko

Bart Matsko

28/10/2013 23:29:25
Quote Anchor link
Roel PHP op 28/10/2013 23:28:30:
Fix eerst eens die ob_-functies door je headers gewoon bovenin te zetten, dat is erg belangrijk.


Wat bedoel je precies, ik snap je niet zo goed. Ben nog niet echt thuis in het php-wereldtje.
 
Michael -

Michael -

29/10/2013 08:09:04
Quote Anchor link
Hij bedoelt dat header('Location: ..'); bovenaan je pagina hoort, voordat er een echo, print of html, o.i.d. komt.
Als je geen variabelen mee stuurt met je url (index.php?variabele1=foo&variabele2=bar) zal ik $_SERVER['SCRIPT_NAME'] gebruiken i.p.v. $_SERVER['PHP_SELF']
Gewijzigd op 29/10/2013 08:10:03 door Michael -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

29/10/2013 12:35:00
Quote Anchor link
wil je het goed doen dan heb je geen ob functies nodig. header hoeft helemaal niet boven in je pagina te staan maar wat Michael bedoelt is dat header() aangeroepen moet worden voordat je html uitspuugt wat we output noemen.
Op regel 4 t/m 9 bijvoorbeeld heb je al output. dan kun je geen header meer verzenden.

Dus doe eerst je PHP logica (if ... else ...) zonder output boven in je pagina en ga dan pas beginnen met de output.

Verder het advies om je eens te gaan verdiepen in functies want regel 57 tm 84 zou je af kunnen met één functie die je drie keer aanroept.
Gewijzigd op 29/10/2013 12:36:03 door Frank Nietbelangrijk
 
Bart Matsko

Bart Matsko

29/10/2013 13:21:41
Quote Anchor link
Uhm heeft er iemand een voorbeeld? Ik heb dit script niet zelf geschreven maar van internet gehaald. Ik wil alleen dat de inhoud op index.php komt.
 



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.