Wie is bereid zich te verdiepen?

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 »

Sander Vanier

Sander Vanier

27/03/2011 21:07:48
Quote Anchor link
Beste Leden,

Wie is bereid zich te verdiepen in mijn code, want ik krijg namelijk niet het gewenste resultaat. Ik zal het zo duidelijk mogelijk beschrijven. Op de pagina komen ingeleverde
ideeën te staan, met elk hun eigen gegevens. Deze ideeën kunnen beoordeeld worden door
gebruikers, (een score van 0 tot 100), maar op het moment dat een persoon 1 idee beoordeeld,
wordt de gegeven score aan alle ideeën op dezelfde pagina toegevoegd! Als ze al eens op
een idee gestemt hadden, blijft die score gewoon gelijk. Dit is de code:

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

$query
= mysql_query("SELECT id,titel,gebruiker,categorie,idee,time FROM GekeurdeIdeeen ORDER BY id ASC"); //Gegevens uit de database halen: met SELECT worden de velden gekozen die weergegeven moeten worden, FROM geeft de tabel van de database aan en met ORDER BY wordt de sorteervolgorde aangegeven. In dit geval is dat ASCending (oplopend) op id.

if(mysql_num_rows($query) == 0){//Er zijn geen ideeen gevonden (je krijgt een foutmelding te zien)
    echo"Er zijn geen gekeurde ideeën gevonden!";


}

else
{


while($rij = mysql_fetch_object($query))
{

  
    $id = htmlspecialchars($rij->id);
    $titel = htmlspecialchars($rij->titel);
    $gebruiker = htmlspecialchars($rij->gebruiker);
    $categorie = htmlspecialchars($rij->categorie);
    $idee = htmlspecialchars($rij->idee);
    $time = htmlspecialchars($rij->time);

    $titeldeel = substr("$titel", 0, 1);
    $tabelcode = $titeldeel.$id;


    echo "<Br /><Br /><Br /><Br /><Br /><Br />
<TABLE style=\"float:left;\">

<TR>
<TD WIDTH=\"396\" height=\"30\"><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #000000;\"><strong>Titel:</strong> "
.$titel."</TD>
<TD WIDTH=\"40\" HEIGHT=\"30\"><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #000000;\"><strong>ID:</strong> "
.$id." <br /></TD>
<TD WIDTH=\"170\" height=\"30\"><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #000000;\"><strong>Gepost door:</strong> "
.$gebruiker."</TD>
</TR>
</TABLE><Br /><br />

<table style=\"float:left\">
<TR>
<TD WIDTH=\"398\" height=\"30\"><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #000000;\"><strong>Datum gepost:</strong> "
.$time."</TD>
<TD WIDTH=\"218\" height=\"30\"><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #000000;\"><strong>Categorie:</strong> "
.$categorie."</TD>
</TR>
</table><br /><br />

<table style=\"float:left; margin-right: 15px\">
<TR>
<TD VALIGN=\"TOP\" WIDTH=\"626\" style=\"padding-top: 4px; padding-right:3px\" height=\"90\"><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #000000;\"><strong>Idee:</strong> "
.$idee."</TD>
</TR>
</TABLE>"
;


$sqlcheck = "SELECT id FROM $tabelcode WHERE account = '$account[login]'";
$rescheck = mysql_query($sqlcheck);


if (mysql_num_rows($rescheck) >= 1)
{


$sqlaantal = "SELECT * FROM $tabelcode";
$resaantal = mysql_query($sqlaantal);
$aantal = mysql_num_rows($resaantal);


$gemidsql = "SELECT avg(stem) AS gemiddelde FROM $tabelcode";
$gemidres = mysql_query($gemidsql);
$stem = mysql_fetch_assoc($gemidres);

$sqleigenstem = "SELECT stem AS eigenstem FROM $tabelcode WHERE account = '$account[login]'";
$reseigenstem = mysql_query($sqleigenstem);
$eigenstem = mysql_fetch_assoc($reseigenstem);

echo "<p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: #000000\">Score:<p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 30px; color: #000000\"> ".$stem['gemiddelde']." <p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #000000; margin-top: 7px\">Jouw stem: <b>".$eigenstem['eigenstem']."</b><Br /> Aantal stemmen: <b/>$aantal<b>";
}


else
{
echo"
<form style=\"float:right;margin-right: 35px;\" action=\"$_SELF\" method=\"post\">
<input type=\"text\" name=\"stem\" value=\"\" style=\"width:40px; padding-top:2px; padding-bottom: 2px; margin-bottom: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 20px;\" maxlenght:\"3\"><br />
<input type=\"submit\" style=\"padding:3px; margin-top: 5px; margin-bottom: 5px\" name=\"submit1\" value=\"Stem!\">
</form>"
;

}



if ($_POST[submit1] && $_POST[stem] && $_POST[stem] > 0 && $_POST[stem] < 101)

        {


    $sql = "INSERT INTO $tabelcode (id, account, stem) VALUES ('', '$account[login]', '$_POST[stem]')";
    $res = mysql_query($sql);              
    
    header("Location: openideeen.php");

        }


elseif ($_POST[submit1] && (!$_POST[stem] || $_POST[stem] < 1 || $_POST[stem] > 100))
{

echo"<br /><br /><Br /><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: red\">Foutief gestemd!";



}



}

}





?>


Hoe zorg ik ervoor dat de stem niet in dezeflde loop terecht komt? Ook als ik een verkeerde waarde invoer zoals 200, dan zegt hij bij alle ideeën waar nog niet op gestemt was 'Foutief gestemd!'. Hopelijk heeft iemand een oplossing.

Ik weet dat er nog gaten inzitten en er nog zat verbeterpunten zijn in deze code, maar hier
ligt niet de oorzaak van mijn probleem. Waar wel?

Alvast heel erg bedankt. Ziet hier nu al enkele avonden mee.

MvG
Sander
 
PHP hulp

PHP hulp

28/11/2024 12:09:33
 
Noppes Homeland

Noppes Homeland

27/03/2011 21:16:51
Quote Anchor link
Gaat erst maar:
1. zorgen voor een juiste logica
2. de juiste controles en validaties
3. oplossen van undefined indexes
4. bescherming tegen sql injectie
5. wegwerken van alle onnodige escapes
6. mysql foutafhandeling

dan los je je probleem als het goed is vanzelf op.

had ook kunnen schrijven: gooi dit maar in de prullenbak en begin opnieuw en dan de bovenstaande punten opdreunen

er valt overigens nog wel meer op te merken o.a. de vele manieren van fetchen, kies voor 1 fetch methode: _fetch_assoc

oh en ik had ook nog ergens een update statement verwacht maar blijbaar vind je het handiger om achteraf alle stemmen te sommeren
Gewijzigd op 27/03/2011 21:18:41 door Noppes Homeland
 



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.