te veel weergaven
ik heb een probleem met php en mysql.
als ik naar de pagina ga dan staat er meer dan 100 keer de zelfe tekst.
hoe kan ik dat weg halen?
Code (php)
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
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
<?
[code]<?
if(isset($_POST['verzenden']))
{
?>
<?
$naam = addslashes($_POST['naam']);
$code = addslashes($_POST['code']);
$email = addslashes($_POST['email']);
$titel = addslashes($_POST['titel']);
$text = addslashes($_POST['text']);
$cijfer = addslashes($_POST['cijfer']);
$datum = addslashes($_POST['datum']);
mysql_query("UPDATE attracties SET naam='$naam', code='$code', email='$email', titel='$titel', text='$text', cijfer='$cijfer', datum='$datum' WHERE id='$_POST[id]'") or die (mysql_error());
echo 'gelukt';
}
?>
<?PHP
if(IsSet($_GET['id']) && is_numeric($_GET['id']))
{
// als id is geset in de url en een nummer is
$iId = $_GET['id'];
// id in de var. iId zetten
$sQuery = "SELECT * FROM attracties WHERE id='".$iId."'";
// SQL Query maken, nieuwsberichten ophalen waar id gelijk is aan iId
$sResult = MySQL_Query($sQuery) or report_mysql("Nieuws ophalen", __FILE__, __LINE__, $sQuery);
// SQL Query uitvoeren, of wanneer het niet uitgevoerd kan worden, een error printen + de error
// in een bestandje zetten
?>
<Center>
<Table Border='0' BorderColor='#000000' CellPadding='0' CellSpacing='0' Width='500'>
<?PHP
// de while loop beginnen
// zorgt dat het bericht op het scherm gezet word
while($sRecord = MySQL_Fetch_Assoc($sResult))
{
?>
<Tr Width='500'>
<Td Width='500'>
<Div Style='margin-left: 15px;'>
<?PHP
echo stripslashes('<form action="atractie.php" method="POST">
<table width="200" border="0" align="center">
<tr>
<td align="right">gebruikersnaam: </td>
<td><input name="naam" type="text" value="'.$sRecord["naam"].'" />
<input name="id" type="hidden" value="'.$sRecord["id"].'"></td>
</tr>
<tr>
<td align="right">wachtwoord: </td>
<td><input name="code" type="text" value="'.$sRecord["code"].'" /></td>
</tr>
<tr>
<td align="right">e-mail: </td>
<td><input type="text" name="email" value="'.$sRecord["email"].'" /></td>
</tr>
<tr>
<td align="right">titel: </td>
<td><input type="text" name="titel" value="'.$sRecord["titel"].'" /></td>
</tr>
<tr>
<td align="right">text: </td>
<td><textarea name="text" cols=40 rows=6>'.$sRecord["text"].'</textarea></td>
</tr>
<tr>
<td align="right">cijfer:</td>
<td><input type="text" name="cijfer" value="'.$sRecord["cijfer"].'" /></td>
</tr>
<tr>
<td align="right">wanneer: </td>
<td><input type="text" name="datum" value="'.$sRecord["datum"].'" /></td>
</tr>
<tr>
<td align="right">zien: </td>
<td><select name="zien">
<option>ja</option>
<option>nee</option>
</select></td>
</tr>
<tr>
<td align="right"><input type="submit" name="verzenden" value="verzenden"></td>
<td></td>
</tr>
</table>
</form>
')."<BR>";
// Titel | door | datum om tijd
?>
</Div>
<Hr Width='500' Color='#000000'>
<Div Style='margin-left: 15px;'>
</Div>
</Td>
</Tr>
<?PHP
}
} else
{
?>
<Tr Width='500'>
<Th Width='500'>
<center>kies een atractie</center>
</Th>
</Tr>
<?PHP
}
?>
<?php
ini_set('display_errors', 0); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$teller = 0;
// Verander het getal hieronder in het aantal kolommen
// dat je naast elkaar wilt hebben.
$naast_elkaar = 4;
echo '<TABLE BORDER="1" ALIGN="center" id="container">';
// Hieronder de while() even aanpassen naar jouw while()
// waar je de gegevens uit wilt halen. Je kunt er uiteraard
// ook een for() of een foreach() van maken.
while($row = mysql_fetch_array( mysql_query("SELECT * FROM attracties WHERE naam= '".$_SESSION['username']."' ") ))
{
echo''.$row['titel'].'';
}
echo ($teller % $naast_elkaar) != 0 ? '</tr>' : '';
echo '</table>';
?>
?>
[code]<?
if(isset($_POST['verzenden']))
{
?>
<?
$naam = addslashes($_POST['naam']);
$code = addslashes($_POST['code']);
$email = addslashes($_POST['email']);
$titel = addslashes($_POST['titel']);
$text = addslashes($_POST['text']);
$cijfer = addslashes($_POST['cijfer']);
$datum = addslashes($_POST['datum']);
mysql_query("UPDATE attracties SET naam='$naam', code='$code', email='$email', titel='$titel', text='$text', cijfer='$cijfer', datum='$datum' WHERE id='$_POST[id]'") or die (mysql_error());
echo 'gelukt';
}
?>
<?PHP
if(IsSet($_GET['id']) && is_numeric($_GET['id']))
{
// als id is geset in de url en een nummer is
$iId = $_GET['id'];
// id in de var. iId zetten
$sQuery = "SELECT * FROM attracties WHERE id='".$iId."'";
// SQL Query maken, nieuwsberichten ophalen waar id gelijk is aan iId
$sResult = MySQL_Query($sQuery) or report_mysql("Nieuws ophalen", __FILE__, __LINE__, $sQuery);
// SQL Query uitvoeren, of wanneer het niet uitgevoerd kan worden, een error printen + de error
// in een bestandje zetten
?>
<Center>
<Table Border='0' BorderColor='#000000' CellPadding='0' CellSpacing='0' Width='500'>
<?PHP
// de while loop beginnen
// zorgt dat het bericht op het scherm gezet word
while($sRecord = MySQL_Fetch_Assoc($sResult))
{
?>
<Tr Width='500'>
<Td Width='500'>
<Div Style='margin-left: 15px;'>
<?PHP
echo stripslashes('<form action="atractie.php" method="POST">
<table width="200" border="0" align="center">
<tr>
<td align="right">gebruikersnaam: </td>
<td><input name="naam" type="text" value="'.$sRecord["naam"].'" />
<input name="id" type="hidden" value="'.$sRecord["id"].'"></td>
</tr>
<tr>
<td align="right">wachtwoord: </td>
<td><input name="code" type="text" value="'.$sRecord["code"].'" /></td>
</tr>
<tr>
<td align="right">e-mail: </td>
<td><input type="text" name="email" value="'.$sRecord["email"].'" /></td>
</tr>
<tr>
<td align="right">titel: </td>
<td><input type="text" name="titel" value="'.$sRecord["titel"].'" /></td>
</tr>
<tr>
<td align="right">text: </td>
<td><textarea name="text" cols=40 rows=6>'.$sRecord["text"].'</textarea></td>
</tr>
<tr>
<td align="right">cijfer:</td>
<td><input type="text" name="cijfer" value="'.$sRecord["cijfer"].'" /></td>
</tr>
<tr>
<td align="right">wanneer: </td>
<td><input type="text" name="datum" value="'.$sRecord["datum"].'" /></td>
</tr>
<tr>
<td align="right">zien: </td>
<td><select name="zien">
<option>ja</option>
<option>nee</option>
</select></td>
</tr>
<tr>
<td align="right"><input type="submit" name="verzenden" value="verzenden"></td>
<td></td>
</tr>
</table>
</form>
')."<BR>";
// Titel | door | datum om tijd
?>
</Div>
<Hr Width='500' Color='#000000'>
<Div Style='margin-left: 15px;'>
</Div>
</Td>
</Tr>
<?PHP
}
} else
{
?>
<Tr Width='500'>
<Th Width='500'>
<center>kies een atractie</center>
</Th>
</Tr>
<?PHP
}
?>
<?php
ini_set('display_errors', 0); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$teller = 0;
// Verander het getal hieronder in het aantal kolommen
// dat je naast elkaar wilt hebben.
$naast_elkaar = 4;
echo '<TABLE BORDER="1" ALIGN="center" id="container">';
// Hieronder de while() even aanpassen naar jouw while()
// waar je de gegevens uit wilt halen. Je kunt er uiteraard
// ook een for() of een foreach() van maken.
while($row = mysql_fetch_array( mysql_query("SELECT * FROM attracties WHERE naam= '".$_SESSION['username']."' ") ))
{
echo''.$row['titel'].'';
}
echo ($teller % $naast_elkaar) != 0 ? '</tr>' : '';
echo '</table>';
?>
?>
Gewijzigd op 08/08/2011 16:41:27 door Sven video
En ik heb het idee dat je ene hoop gegeven tips negeert. met name m.b.t addslashes() en foutafhandeling. En wat is het nut van lege string aan een var. koppelen op lijn 129?
Gewijzigd op 08/08/2011 17:04:00 door - Ariën -
Je bedoelt 100 x het zelfde formulier? Komt omdat het formulier in een while zit die 100 keer wordt uitgevoerd.
Sorry, maar je website stikt echt van de bugs. En misschien moet je wat gaan doen aan je script taal. Regel 5 en 6 kun je sowieso al weghalen.
Ik zie zoveel verschillende scriptstijlen waarmee ik het gevoel krijg je dat je gewoon aan het knippen en plakken bent van wat kant en klaar gevonden scripts terwijl je totaal geen idee hebt wat er nou precies gebeurt?
Echt, doe mij en ons een lol en ga gewoon een PHP boek/tutorial/cursus doen....