Wie is bereid zich te verdiepen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer / Domotica / Public Cloud / Verbete

Functieomschrijving Wil jij als Java Developer een bijdrage leveren aan het ontwikkelen van innovatie Java applicaties die het levensgeluk van patiënten in diverse zorginstellingen aanzienlijk verbeterd? Lees dan snel verder! Ontwikkelen van nieuwe applicaties in Public Cloud; Optimaliseren en verbeteren van bestaande applicaties in Private Cloud; Meedenken over verbeterprojecten; Maken en uitvoeren van Stress Testing; Ontwikkelen en verbeteren van de Mobile app. Functie-eisen Hbo werk- en denkniveau; Minimaal 5 jaar relevante werkervaring; Ervaring in Java 8; Kennis van Linux, Public- en Private Cloudtechnieken; Je bent communicatief erg sterk en kan tegen de nodige stress. Bedrijfsomschrijving Deze organisatie is al ruim

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

17/11/2019 05:44:53
 
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.