Paar vraagjes over PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Pascal Koning

Pascal Koning

10/02/2011 10:08:44
Quote Anchor link
Hallo Mensen,

Ik heb een paar vraagjes over PHP,
kunnen jullie misschien me daar mee helpen ?

Vraag nummer1:
Hoe kan ik een melding maken als ik niet bent ingelogd
Je kan niet reageren je moet eerst ingelogd zijn en als je ingelogd bent dat je dan wel kan reageren ? De session wat ik er voor gebruik is :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$_SESSION['login'])


Vraag nummer2:
ik ben bezig met een nieuws systeem en ben hem in het layout aan het bouwen ik stop hem in de while alleen dan wordt die anders want ik juist anders wil.

Zo wil ik het hebben:
Afbeelding waar het rode vierkant is aangegeven moet je goed kijken naar de volgende afbeelding.

Zo heb ik het nu met de while alleen dat moet niet:
Afbeelding

Dit is het stukje waar het goed wordt weergegeven in het bestand .html

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<div class="content">
<div class="content-toporanje">Mijnstelling officeel geopend<div class="reactie-datum">11:03:43 18-12-2010</div></div>
<div class="content-midr">

<div class="reactie">
<div class="reactieitems-left">

<img src="images/avatar.png" alt="Avatar " /><br /><br />
Mike <img src="images/online.png" alt="Online" /></div>
<div class="reactiebericht">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur   gravida nulla non lacus gravida ornare mattis ante dignissim. Etiam at   ante vel arcu vehicula lacinia. Ut vitae ipsum risus, non adipiscing   sapien. Donec sapien justo, suscipit et sagittis sed, venenatis vel   tellus. Nunc eget sem orci. Duis vehicula pellentesque augue non   convallis. Donec non lectus diam, et vehicula metus. Aliquam massa   tellus, sollicitudin eget condimentum vitae, fringilla in metus. Sed a   tortor arcu, in euismod metus. Vivamus in metus neque, a posuere metus.   Suspendisse potenti. Cum sociis natoque penatibus et magnis dis   parturient montes, nascetur ridiculus mus. </div>
</div></div><div class="content-bottom"></div></div>


en dit is het php stukje in de while:
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
<div class="content">
        <div class="content-midr">
<?php
//controleren of er een id is meegegeven en controleren of het id een cijfer is
if (isset($_GET['id'])) {

    if (!empty($_GET['id'])) {
    
        if (is_numeric($_GET['id'])) {
        
            $ID = Secure($_GET['id']);
            
            if (!isset($_GET['p'])) {
                
                $page = 0;
                $limit = '0, '.$aantal;
                
            }

                
            elseif (is_numeric($_GET['p'])) {
                
                $page = secure($_GET['p']);
                $limit = $page*$aantal;
                $limit = $limit.', '.$aantal;
                
            }

            
            //SQL uitvoeren voor reacties
            $sql = mysql_query("SELECT `name`, `message`, `when` FROM `reacties` WHERE `stel_id` = '$ID' ORDER BY id DESC LIMIT $limit");
            
            if (@mysql_num_rows($sql) < 1 ) {
                
                echo 'Er zijn geen berichten gevonden
                <a href="reageer.php?id='
.$ID.'">Reageer als eerste!</a>';
                
            }

            else {
                    
                $num_sql = "SELECT COUNT(ID) AS aantal FROM `reacties` WHERE `stel_id` = '$ID'";
                while($qres = mysql_fetch_assoc($sql)) {
                                
                    $name = Lees($qres['name']);
                    $message = Lees($qres['message']);
                    $when = MakeDate($qres['when']);
                    
                    echo '
                        <div class="reactie">
                            <div class="reactie-top">
                                Reactie op: Vrouw rijdt beter auto.
                                <div class="reactie-datum">
                                    '
.$when.'
                                </div>
                            </div>
                            <div class="reactieitems-left">
                                <img src="images/avatar.png" alt="Avatar" />
                                <br /><br />
                                '
.$name.'
                                <img src="images/online.png" alt="online" />
                            </div>
                            <div class="reactiebericht">
                            '
.UBB($message).'
                            </div>
                        </div>
               <div class="content-bottom"></div>
                    '
;
                }
//End While
                echo '
                <div class="reageer-scheiding"></div>
                '
;

                Page_Num($page, $num_sql, $ID);
                
                echo '<br /><br /><br />';

            }
// End Else
            
        } //End is_numeric
        else {
        
            echo 'Het ID dat is opgegeven is geen cijfer!';
            
        }
        
    }
//End !empty
    
    else {
    
        echo 'Er is geen ID opgegeven!';
        
    }
    
}
//End isset

else {

    echo 'Er is geen ID opgegeven!';
    
}

// End if

?>

</div>
<div class="content-bottom"></div>


Vraag nummer 3:
Ik heb een rank script wat ik zo weergeeft

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if($login->Status == 'Admin'){
    ?>

<br /><br /><a href="admin">Admin Menu</a>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
}
?>


Alleen als mijn status op Admin staat krijg ik alleen de admin menu.
ik heb zeg maar 2 menu's rechts boven wil ik Normaal lid menu hebben en de 2e menu wil ik de admin menu hebben als mijn status op Admin staat. Alleen hoe doe ik dit ?
 
PHP hulp

PHP hulp

08/11/2024 23:14:04
 
Johan Dam

Johan Dam

10/02/2011 10:19:35
Quote Anchor link
Over de melding bij ingelogd of niet.. wat sla je op in de $_SESSION['login']? een id.. een naam.. true? als het zoiets is kan je het simpelweg op false zetten als je niet ingelogd bent, een controle kan je dan zo doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if($_SESSION['login'])
    echo "Je bent ingelogd!";
else
    ecoh "Ga je inloggen!";

Over je layout, probeer eens wat met padding / marging (Ik heb dat stuk van je post niet goed gelezen dus dit is meer een wilde gok)

Je derde vraag snap ik niet helemaal, je wilt 2 verschillende menus, afhangend of je admin bent of niet? dan stop je het normaal-lid-menu toch in de else van de code die je al hebt?
 
Pascal Koning

Pascal Koning

10/02/2011 10:35:01
Quote Anchor link
@Johan Dam

Vraag1:

De session is goed alleen hoe doe ik dan als je melding krijgt ga je inloggen dat je bijvoorbeeld het script niet ziet. en als er staat je bent ingelogd krijg je het script wel te zien.

Vraag3:

Ik heb 2 menu's in mijn lay-out 1 boven en 1 onder
bij de bovenste wil ik dat het leden menu komt dus met status Normaal lid. De 2e menu wil ik het admin menu maar als je status op Normaal lid zit krijg je het admin menu niet te zien natuurlijk. Maar als mijn status op admin is Krijg ik het menu van Normaal lid niet te zien maar ik wil het menu dus scheiden.
 
Ozzie PHP

Ozzie PHP

10/02/2011 10:43:20
 
Mebus  Hackintosh

Mebus Hackintosh

10/02/2011 10:46:25
Quote Anchor link
@Johan Dam,

En als de sessie login niet bestaat krijg je mooi een notice naar je beeldscherm. Mits error reporting aanstaat dan.

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
<?php

if(!empty($_SESSION['login']))
{


echo 'ingelogd';

}

else
{

echo 'niet ingelogd';

}


?>
Gewijzigd op 10/02/2011 10:46:56 door Mebus Hackintosh
 
Pascal Koning

Pascal Koning

10/02/2011 10:47:50
Quote Anchor link
@Ozzie

Bedankt maar ik wacht even op johan ze reactie
 
Ozzie PHP

Ozzie PHP

10/02/2011 10:49:00
Quote Anchor link
Ik denk dat je best even die links kunt doorlezen, want je stelt vragen waaruit ik afleid dat je niet over bepaalde basiskennis beschikt. Daarom geef ik je die linkjes.
 
Pascal Koning

Pascal Koning

10/02/2011 10:51:27
Quote Anchor link
Ik ben ze ook aan het doorlezen en ik probeer er wat mee te prutsen maar session is mijn ding niet ;)
 
Ozzie PHP

Ozzie PHP

10/02/2011 10:57:03
Quote Anchor link
De links gaan niet over sessies maar over controlestructuren...
 
Pascal Koning

Pascal Koning

10/02/2011 11:00:41
Quote Anchor link
@Ozzie

Ja dat weet ik wel,

Maar moet ik het dan zo doen ?

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
<?php

if(!empty($_SESSION['login']))
{


echo 'hier komt het php script';

}

else
{

echo 'niet ingelogd';

}


?>
Gewijzigd op 10/02/2011 11:01:57 door Pascal Koning
 
Ozzie PHP

Ozzie PHP

10/02/2011 11:02:19
Quote Anchor link
Pascal Koning op 10/02/2011 11:00:41:
@Ozzie

Ja dat weet ik wel, alleen het lukt me niet echt

Precies... en daarom moet je dus die linkjes doorlezen ;-)
 
Pascal Koning

Pascal Koning

10/02/2011 11:07:11
Quote Anchor link
@Ozzie

lees even mij gewijzigde bericht even ;)
 
Ozzie PHP

Ozzie PHP

10/02/2011 11:10:53
Quote Anchor link
Ja dat kan...
 
Mebus  Hackintosh

Mebus Hackintosh

10/02/2011 11:11:16
Quote Anchor link
Zo kan het ja. Ik weet namelijk ook niet wat voor waarde je geeft aan je sessie 'login'... geef je een true/false mee.. of een 1 of een 0?
 
Pascal Koning

Pascal Koning

10/02/2011 11:13:21
Quote Anchor link
Ik controleer op id dus zo $_SESSION['login'] = $sql->ID; .
 
Johan Dam

Johan Dam

10/02/2011 11:13:59
Quote Anchor link
@mebus, daarom zei ik ook dat het op false gezet moest worden :)

vraag 1. Als je iets niet wilt zien als je niet bent ingelogt, kan je de if gebruiken in mijn vorige post. Of begrijp ik je nu verkeerd?

vraag 3. Eerst gewoon je normale menu maken. Daaronder if($status == 'admin'){ admin-menu laten zien.
 
Pascal Koning

Pascal Koning

10/02/2011 11:17:04
Quote Anchor link
@Johan

dan heb ik het dus zo ?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if($_SESSION['login'])
    echo "Hier komt php bestand want de mensen pas mogen zien als ze ingelogd zijn";
else
    echo "Hier krijg je melding dat je eerst moet inloggen";
?>




Vraag3:

Vraag 3 snap ik niet ?

edit:

ik heb nu 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
<?php
include '../header.php';
if($_SESSION['login'])
    echo '<form action="reageer.php?id=<?php echo $ID; ?>" method="post">
    <table>
        <tr>
            <td>Naam:</td>
            <td><input type="text" name="naam" /></td>
        </tr>
        <tr>
            <td><img src="captcha.php" /></td>
            <td><input type="text" name="captcha" /></td>
        </tr>
    </table>
    <textarea class="tekstvak" type="text" id="message" name="bericht"></textarea><br />
    <input class="submit" type="submit" value="Reageer" name="save">
</form>'
;
else
    echo "Om te kunnen reageeren moet je eerst ingelogd zijn";
?>


dit staat in een map en de session die controleert staat in header.php
alleen hij geeft alleen de melding Om te kunnen reageeren moet je eerst ingelogd zijn
maar ik ben al ingelogd?
Gewijzigd op 10/02/2011 11:32:25 door Pascal Koning
 
Johan Dam

Johan Dam

10/02/2011 11:34:32
Quote Anchor link
Ja inderdaad, dat zou prima werken.

Vraag 3:

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
<a href="foo">Menu</a>
<a href="foo">Voor</a>
<a href="foo">Normale</a>
<a href="foo">Leden</a>

<?php
if($status == "admin"){
    ?>

    <a href="foo">Menu</a>
    <a href="foo">Voor</a>
    <a href="foo">Admin</a>
    <a href="foo">Leden</a>
    <?php
}
?>
 
Pascal Koning

Pascal Koning

10/02/2011 11:36:39
Quote Anchor link
@Johan dam

Dit werkt niet :S

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
<?php
include '../header.php';
if($_SESSION['login'])
    echo '<form action="reageer.php?id=<?php echo $ID; ?>" method="post">
    <table>
        <tr>
            <td>Naam:</td>
            <td><input type="text" name="naam" /></td>
        </tr>
        <tr>
            <td><img src="captcha.php" /></td>
            <td><input type="text" name="captcha" /></td>
        </tr>
    </table>
    <textarea class="tekstvak" type="text" id="message" name="bericht"></textarea><br />
    <input class="submit" type="submit" value="Reageer" name="save">
</form>'
;
else
    echo "Om te kunnen reageeren moet je eerst ingelogd zijn";
?>


ik ben ingelogd maar nog steeds krijg ik de melding met Om te kunnen reageeren moet je eerst ingelogd zijn.
 
- Ariën  -
Beheerder

- Ariën -

10/02/2011 11:38:06
Quote Anchor link
Plaats session_start(); bovenaan.
 
Johan Dam

Johan Dam

10/02/2011 11:39:36
Quote Anchor link
echo (of var_dump) $_SESSION['login'] eens en kijk wat er in staat

p.s.
dit gaat niet werken he...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo '<form action="reageer.php?id=<?php echo $ID; ?>"....
Gewijzigd op 10/02/2011 11:59:11 door Johan Dam
 

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.