profiel pagina.. Hulp?
Momenteel werk ik aan een 'profiel' pagina..
hij deed het tot dat ik een tabel heb toegevoegt eraan, en de variable er in heb gezet.!
nu krijg ik een blanco pagina met de tekst:
Kan de pagina niet weergeven
HTTP 500
Meest waarschijnlijke oorzaken:
•Aan deze website wordt gewerkt.
•De website bevat een programmeerfout. <--- hier ga ik van uit!!! zou er misschien iemand even naar kunnen kijken? (a)
Alvast bedankt ;)
Dit is mijn code:
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
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
<?php
session_start();
include('conn.php');
# We zetten dit volledig bovenaan
# errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
$sql = "SELECT id, username, voornaam, achternaam, email, leeftijd, sex, woonplaats, geslacht FROM users ORDER BY id DESC";
// we maken een query die alle topics ophaalt met hun gegevens
$resultaat = mysql_query($sql)or die(mysql_error());
// die query voeren we uit
while($rij = mysql_fetch_array($resultaat)){
// hierboven slaan we alle resultaten op in een array genaamd rij
<table align="center" width="100%" >
<tr><td class="subtitle" colspan="3">Profiel van: '.$rij['username'].'</td></tr><tr>
<td class="maintxt" width="15%" height="18"><b>Gebruiker</b></td>
<td class="maintxt">'.$rij['username'].'</td>
<td rowspan="15" width="300" align="center" valign="top" class="maintxt">
<img src="avatar/big/1342642496.Silvio.png" name="targetimage" border=0 width=300 height=300>
</td>
</tr>
<tr>
<td class="maintxt" width="15%" height="18"><b>Naam</b></td>
<td class="maintxt">'.$rij['voornaam'].' '.$rij['achternaam'].'</td>
</tr>
<tr>
<td class="maintxt" width="15%" height="18"><b>E-mail</b></td>
<td class=maintxt>'.$rij['email'].' </td>
</tr>
<tr>
<td class="maintxt" width="15%" height="18"><b>Leeftijd</b></td>
<td class=maintxt>'.$rij['leeftijd'].'</td>
</tr>
<tr>
<td class="maintxt" width="15%" height="18" nowrap><b>Geslacht</b></td>
<td class=maintxt>'.$rij['sex'].'</td>
</tr>
<tr>
<td class="maintxt" width="15%" height="18"><b>Woonplaats</b></td>
<td class=maintxt>'.$rij['woonplaats'].'</td>
</tr>
</table>
?>
session_start();
include('conn.php');
# We zetten dit volledig bovenaan
# errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
$sql = "SELECT id, username, voornaam, achternaam, email, leeftijd, sex, woonplaats, geslacht FROM users ORDER BY id DESC";
// we maken een query die alle topics ophaalt met hun gegevens
$resultaat = mysql_query($sql)or die(mysql_error());
// die query voeren we uit
while($rij = mysql_fetch_array($resultaat)){
// hierboven slaan we alle resultaten op in een array genaamd rij
<table align="center" width="100%" >
<tr><td class="subtitle" colspan="3">Profiel van: '.$rij['username'].'</td></tr><tr>
<td class="maintxt" width="15%" height="18"><b>Gebruiker</b></td>
<td class="maintxt">'.$rij['username'].'</td>
<td rowspan="15" width="300" align="center" valign="top" class="maintxt">
<img src="avatar/big/1342642496.Silvio.png" name="targetimage" border=0 width=300 height=300>
</td>
</tr>
<tr>
<td class="maintxt" width="15%" height="18"><b>Naam</b></td>
<td class="maintxt">'.$rij['voornaam'].' '.$rij['achternaam'].'</td>
</tr>
<tr>
<td class="maintxt" width="15%" height="18"><b>E-mail</b></td>
<td class=maintxt>'.$rij['email'].' </td>
</tr>
<tr>
<td class="maintxt" width="15%" height="18"><b>Leeftijd</b></td>
<td class=maintxt>'.$rij['leeftijd'].'</td>
</tr>
<tr>
<td class="maintxt" width="15%" height="18" nowrap><b>Geslacht</b></td>
<td class=maintxt>'.$rij['sex'].'</td>
</tr>
<tr>
<td class="maintxt" width="15%" height="18"><b>Woonplaats</b></td>
<td class=maintxt>'.$rij['woonplaats'].'</td>
</tr>
</table>
?>
Gewijzigd op 09/01/2014 20:56:37 door Reduan kurtaj
Of je kan de PHPtag ook afsluiten voor je HTML komt. Dat raad ik meer aan.
Topictitel aanpassen:
Gezien meerdere mensen op dit forum een fout niet kunnen vinden, wil ik je graag verzoeken een betere topictitel te bedenken. Deze kan je aanpassen door je bericht te bewerken.
Alvast bedankt
Alvast bedankt
Gewijzigd op 09/01/2014 20:51:44 door - Ariën -
Zo te zien sluit je je laatste while ook niet af? Onderaan mis ik dus een }
- Aar - op 09/01/2014 20:44:00:
HTML kan je in PHP alleen gebruiken via 'print' of 'echo'. Zie lijn 37.
Of je kan de PHPtag ook afsluiten voor je HTML komt. Dat raad ik meer aan.
Gezien meerdere mensen op dit forum een fout niet kunnen vinden, wil ik je graag verzoeken een betere topictitel te bedenken. Deze kan je aanpassen door je bericht te bewerken.
Alvast bedankt[/modedit]
Of je kan de PHPtag ook afsluiten voor je HTML komt. Dat raad ik meer aan.
Gezien meerdere mensen op dit forum een fout niet kunnen vinden, wil ik je graag verzoeken een betere topictitel te bedenken. Deze kan je aanpassen door je bericht te bewerken.
Alvast bedankt[/modedit]
D B op 09/01/2014 20:50:28:
Zo te zien sluit je je laatste while ook niet af? Onderaan mis ik dus een }
TnQ -Aar- en D B!!!!!
Hij doet het, de fout lag idd bij die } die ik vergeten was, en idd mijn html "echo'en" en mijn topic titel is verandert...
Zo hoef je minder te parsen en blijft je website sneller :) En je hoeft niet alles in een echo te plaatsen.
Gewijzigd op 09/01/2014 21:19:45 door D B
D B op 09/01/2014 21:18:27:
In mijn html staat dus een stuk php, en ik vind het lelijk om tussen elke regel html te plaatsen.. en die } heb ik gewoon helemaal onderaan gezet!
Dan krijg je vaak iets als
Parse error on line x te zien ipv error 500
Ivo P op 09/01/2014 21:25:43:
Ik raad je aan om de error reporting aan te zetten in php.ini of .htaccess
Dan krijg je vaak iets als
Parse error on line x te zien ipv error 500
Dan krijg je vaak iets als
Parse error on line x te zien ipv error 500
bedankt voor de tip, maar als je kijkt zie je dat die aan staat :)!!
maar nu heb ik nog een vraag eigenlijk... of kan ik daar beter een nieuw topic voor openen??
hoe krijg ik het nu voor elkaar dat ik bijv: http://www.mijnsite.nl/profiel?user=Username krijg en ook alleen de info van DIE gebruiker..
want nu heb ik namelijk alle gebruikers in me database op die pagina staan :(:(
Alleen de info ophalen van $_GET['user'].
Code (php)
1
2
3
2
3
<?
$sql = "SELECT id, username, voornaam, achternaam, email, leeftijd, sex, woonplaats, geslacht FROM users WHERE username = '". $_GET['user']. "' ORDER BY id DESC";
?>
$sql = "SELECT id, username, voornaam, achternaam, email, leeftijd, sex, woonplaats, geslacht FROM users WHERE username = '". $_GET['user']. "' ORDER BY id DESC";
?>
Zoiets, pas op want ik gebruik nu de GET rechtstreeks uit de adresbalk, dit wil zeggen dat het totaal niet veilig is! Dit is alleen om aan te geven waar je dus de username zult moeten gaan gebruiken....
Gewijzigd op 10/01/2014 06:46:52 door D B
Houd wel in je achterhoofd dat de mysql_*() functies zullen verdwijnen, en dat je het beste kan overstappen naar de functiebibliotheek van mysqli of die van PDO.
Bijgevolg wordt je error reporting niet aangezet door php.
Daarom zei ik 'in .htaccess of php.ini'
Code (php)
1
2
3
2
3
<?php
$sql ="'SELECT id, username, voornaam, achternaam, email, leeftijd, sex, woonplaats, geslacht FROM users WHERE username = "'. mysql_real_escape_string($_GET['user']) . '" ORDER BY id DESC'"
?>
$sql ="'SELECT id, username, voornaam, achternaam, email, leeftijd, sex, woonplaats, geslacht FROM users WHERE username = "'. mysql_real_escape_string($_GET['user']) . '" ORDER BY id DESC'"
?>
Gewijzigd op 09/01/2014 22:38:45 door reduan kurtaj
Code (php)
1
2
3
2
3
<?php
$sql ="SELECT id, username, voornaam, achternaam, email, leeftijd, sex, woonplaats, geslacht FROM users WHERE username = '". mysql_real_escape_string($_GET['user'])."' ORDER BY id DESC";
?>
$sql ="SELECT id, username, voornaam, achternaam, email, leeftijd, sex, woonplaats, geslacht FROM users WHERE username = '". mysql_real_escape_string($_GET['user'])."' ORDER BY id DESC";
?>
- Gebruik lieft voor queries double-quotes
- Gebruik voor strings in je SQL-code een single-quote.
- Zet een punt-komma op het einde ;
Notice: Undefined index: users in /mnt/webc/e2/15/53954115/htdocs/profiel.php on line 78 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM users WHERE username = '' ORDER BY id DESC' at line 1
Volgens mij typ je users in de URL-balk i.p.v. user
Een controle met isset() op $_GET['user'] lijkt me zeker niet onverstandig om dergelijke notices van ontbrekende GET-variabelen te mijden.
Gewijzigd op 09/01/2014 22:57:42 door - Ariën -
$_GET['users']
$_GET['username']
$_GET['id']
allemaal al geprobeerd.. :(
Gewijzigd op 09/01/2014 23:02:41 door - Ariën -
zal wss wel weer niet goed zijn, want ik krijg geen "profiel.php?users="
maar wel gewoon de informatie van de ingelogde persoon..
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if(isset($_POST['users'])){
$sql ="SELECT id, username, voornaam, achternaam, email, leeftijd, sex, woonplaats, FROM users WHERE username = '". mysql_real_escape_string($_GET['users'])."' ORDER BY id DESC";
// we maken een query die alle gebruikers ophaalt met hun gegevens
}else{
}
$resultaat = mysql_query($sql)or die(mysql_error());
// die query voeren we uit
while($rij = mysql_fetch_array($resultaat)){
// hierboven slaan we alle resultaten op in een array genaamd rij
?>
if(isset($_POST['users'])){
$sql ="SELECT id, username, voornaam, achternaam, email, leeftijd, sex, woonplaats, FROM users WHERE username = '". mysql_real_escape_string($_GET['users'])."' ORDER BY id DESC";
// we maken een query die alle gebruikers ophaalt met hun gegevens
}else{
}
$resultaat = mysql_query($sql)or die(mysql_error());
// die query voeren we uit
while($rij = mysql_fetch_array($resultaat)){
// hierboven slaan we alle resultaten op in een array genaamd rij
?>
$_POST[] is niet $_GET[] regel 2
Reduan kurtaj op 09/01/2014 23:05:54:
want ik krijg geen "profiel.php?users="
Dat vul je toch in in de URL-balk?
Gewijzigd op 09/01/2014 23:10:23 door - Ariën -