PM Systeem probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

PH Piet

PH Piet

19/11/2011 19:23:34
Quote Anchor link
Zelf ben ik bezig met een PM systeem maar ik wil als action GET niet gebruiken.
Jammer genoeg zijn er verschillende problemen...

1) Als ik berichten verwijdert geeft hij een fout van "undefined offset".
2) Als ik geen berichten aanklik en op de knop verwijderen klik dan geeft hij ook een fout van "undefined variable".
3) In Firefox en in IE werkt regel 69 niet. Als ik op de knop lezen druk in Firefox of IE dan vernieuwt hij de pagina inbox.php

Hopelijk kan iemand helpen. Bedankt

*edit
Kan ditdit mij helpen voor probleem 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
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
<script type="text/javascript" language="javascript">
function check_all(iam)
    {
    var node_list = document.getElementsByTagName('input');
    for (var i = 0; i < node_list.length; i++)
        {
        var node = node_list[i];
        if (node.getAttribute('type') == 'checkbox')
            {
            if (iam.checked == 1)
                    node.checked = 1;
            else
                node.checked = 0;
            }
        }
    }
</script>
<?
$qryBerichten
= "SELECT *,DATE_FORMAT(datum, ('%d.%m.%Y %H:%i')) AS data FROM tbl_berichten WHERE naar = '$vID' ORDER BY berichtid DESC";
$rBerichten = mysql_query($qryBerichten);
$vAantal = mysql_num_rows($rBerichten);
if($vAantal == 0)
    echo "<b>Op dit moment staan er geen berichten in je inbox.</b><br><hr><a href='berichtmaken.php'><input type='submit' value='Nieuw bericht maken'></a>";
else
    {
    if($vAantal == 1)
    $vAantal = "staat er $vAantal bericht";  
    else
        $vAantal = "staan er $vAantal berichten";  
    echo "<b>Op dit moment $vAantal in je inbox.</b><hr>";
    $sql = "SELECT *,DATE_FORMAT(datum, ('%d.%m.%Y %H:%i')) AS data FROM tbl_berichten WHERE naar = '$vID' ORDER BY berichtid DESC";
    $result = mysql_query($sql);
    $count = mysql_num_rows($result);
    ?>

    <table width="400" border="0" cellspacing="1" cellpadding="0">
        <tr>
            <td>
            <form name="frmBerichten" method="post">
                <table width="640" border="0" cellspacing="0">
                <tr>
                    <td width="20" align="center"><input type='checkbox' name='checkall' onclick='check_all(this)'></td>
                    <td width="220"><b>Onderwerp</b></td>
                    <td width="200"><b>Gebruiker</b></td>
                    <td width="130"><b>Datum</b></td>
                    <td width="70"><b>Lezen</b></td>
                </tr>
                <?php
                while($rows = mysql_fetch_array($result))
                    {

                    if($rows['gelezen'] == 1)
                        $kleur = "#7FFF00";
                    else
                        $kleur = "#FF4500";
                    ?>

                    <tr bgcolor="<?php echo $kleur; ?>">
                        <td width="20" height="25" align="center"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['berichtid']; ?>"></td>
                        <td width="220 height="25"">&nbsp;<? echo $rows['onderwerp']; ?></td>
                        <td width="200" height="25">&nbsp;<?
                        $vVan
= $rows['van'];
                        $qryZoeken = mysql_query("SELECT * FROM tbl_gebruikers WHERE gebruikerid = '$vVan'");
                        while($vJij = mysql_fetch_object($qryZoeken))
                            {

                            $vAuteur = $vJij->gebruikersnaam;
                            }

                        echo $vAuteur; ?>

                        </td>
                        <td width="130" height="25">&nbsp;<? echo $rows['data']; ?></td>
                        <td width="70" height="25" align="center">
                        <input type="image" src="images/lezen.png" name="lezen" id="lezen" value="<? echo $rows['berichtid']; ?>"></td>
                    </tr>
                    <?php
                    }
                    ?>

                </table>
                <br>
                <input name="delete" type="submit" id="delete" value="Geselecteerde berichten verwijderen">&nbsp;&nbsp;&nbsp;<input type="submit" name="new" id="new" value="Nieuw bericht maken">
            </form>
            </td>
        </tr>
    </table>
    <?
    if($_SERVER['REQUEST_METHOD'] == "POST")
        {

        if(isset($delete))
            {

            for($i=0;$i<$count;$i++)
                {

                $del_id = $checkbox[$i];
                $sql = "DELETE FROM tbl_berichten WHERE berichtid = '$del_id'";
                $result = mysql_query($sql);
                }

            if($result)
                echo "<meta http-equiv='refresh' content='0;URL=inbox.php'>";
            }

        if(isset($new))
            header('location: berichtmaken.php');
        if(isset($lezen))
            {

            $_SESSION["f_bericht"] = $_POST["lezen"];
            header('location: berichtlezen.php');
            }
        }
    }

?>
Gewijzigd op 19/11/2011 19:25:10 door PH Piet
 
PHP hulp

PHP hulp

22/11/2024 05:48:06
 
Nick van der heijden

nick van der heijden

19/11/2011 20:31:16
Quote Anchor link
denk aan SQL injection en lijn 69 moet dit zijn denk ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="lezen.php"><img src="images/lezen.png" name="lezen" id="lezen" value="<? echo $rows['berichtid']; ?>"></a></td>
 
PH Piet

PH Piet

19/11/2011 20:33:58
Quote Anchor link
Oke dan gaat hij naar pagina lezen.php als je erop klikt.
De bedoeling is de waarde van het bericht mee te sturen naar de volgende pagina.
 
Obelix Idefix

Obelix Idefix

19/11/2011 20:35:02
Quote Anchor link
Gebruik geen short-tag voor starten php
Selecteer het veld/de velden die je nodig hebt, geen *
Waarom 2x dezelfde query?
Je mist foutafhandeling in je query.
Waar komt $vID vandaag?
Variabelen buiten quotes.
waar komt $delete vandaan?
Om sessie te gebruiken, moet je session_start(); gebruiken.
Gewijzigd op 19/11/2011 20:37:29 door Obelix Idefix
 
Nick van der heijden

nick van der heijden

19/11/2011 20:37:03
Quote Anchor link
jaa klopt dan gaat ie naar die pagina toe maar dan geef je alles toch mee met een session ?
 
- Ariën  -
Beheerder

- Ariën -

19/11/2011 20:47:04
Quote Anchor link
$vID is gewoon leeg als alles goed is. Vroeger, 9 jaar geleden was die wel gevuld. maar tegenwoordig is dat bijna niet meer, tenzij iemand het nog aandurft om register_globals op ON te zetten.
 
PH Piet

PH Piet

19/11/2011 20:50:32
Quote Anchor link
Short-tag aangepast, * even wel nodig (pas ik later aan), zelfde qry eruit gedaan, $delete krijg je als je op de knop drukt (staat in een form).
Gewijzigd op 21/11/2011 00:03:25 door PH Piet
 
Obelix Idefix

Obelix Idefix

19/11/2011 21:10:32
Quote Anchor link
PH Piet op 19/11/2011 20:50:32:
$delete krijg je als je op de knop drukt (staat in een form).

Dan krijg je geen $delete volgens mij. Je zult moeten werken met $_POST['delete']
Zie ook reactie van Aar.
 
Noppes Homeland

Noppes Homeland

19/11/2011 21:17:11
Quote Anchor link
Haal de ob_start maar uit je code, je gebruikt deze op een verkeerde manier. Voor de rest dien je een exit te doen na een redirect.

En uiteraaard ontbreekt het aan de benodigde:
- controles en validaties
- bescherming tegen sql injectie

En het belangrijkste: script logica is ver te zoeken
 
PH Piet

PH Piet

19/11/2011 22:06:30
Quote Anchor link
Ik ga het opnieuw schrijven want nu zit het vol fouten
 
PH Piet

PH Piet

21/11/2011 00:03:01
Quote Anchor link
Nog een vraagje...
Ik heb nu een rollover voor mijn berichten, onmouseover & onmouseout.
Hoe zorg ik ervoor dat als ik op een random plaats in de rij mijn "berichtid" kan toevoegen aan een variabelen zodat ik deze kan verzenden?
 



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.