hyperlink???
Onderstaande script gebruik ik om data uit te tonen op mijn website (namen en adresgegevens). Nu wil ik dat men naar de websites van de naamhouders kan doorklikken. Ik heb begrepen dat het kan en mogelijk in sql databse dat op een of andere manier kan worden aangegeven.
Weet een van jullie hoe dat moet??
alvast bedankt
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
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
<?php
$server = 'localhost';
$user = 'XXXX';
$pass = 'XXXXXXXXXX';
$dbname = 'XXXXXXXXXXXXX';
$type = $_POST['type'];
$regio = $_POST['regio'];
$plaats = $_POST['plaats'];
if($type != "" && ($regio == "" && $plaats == ""))
{
$query = "SELECT * FROM tabelnaam WHERE type='$type' ORDER BY 'naam'";
}
elseif($type == "" && $regio != "" && $plaats == "")
{
$query = "SELECT * FROM xxxxxxxxxxxxxxxn WHERE regio='$regio' ORDER BY 'naam'";
}
elseif($type == "" && $regio == "" && $plaats != "")
{
$query = "SELECT * FROM xxxxxxxx1 WHERE plaats='$plaats' ORDER BY 'naam'";
}
elseif($type != "" && $regio != "" && $plaats == "")
{
$query = "SELECT * FROM ssssssssssssss WHERE type='$type' AND regio='$regio' ORDER BY 'naam'";
}
elseif($type != "" && $regio == "" && $plaats != "")
{
$query = "SELECT * FROM xxxxxxx WHERE type='$type' AND plaats='$plaats' ORDER BY 'naam'";
}
elseif($type != "" && $regio != "" && $plaats != "")
{
$query = "SELECT * FROM xxxxxxxxxx WHERE type='$type' AND regio='$regio' AND plaats='$plaats' ORDER BY 'naam'";
}
else
{
$message .= "kan niet op aparte criteria sorteren.<\br>\n"; //wat moet er in dit geval gebeuren?
}
if($db = mysql_connect($server, $user, $pass))
{
$message = "";
if(mysql_select_db($dbname, $db))
{
$message .= "";
if($result = mysql_query($query, $db))
{
$message .= "";
}
else
{
$message .= "tabel kan niet geselecteerd worden.<\br>\n";
}
}
else
{
$message .= " Database $dbname niet gevonden.<\br>\n";
}
}
else
{
$message = "Verbinden met database is mislukt.<\br>\n";
}
echo "<table width='715' border='0' cellspacing='0' cellpadding='2' bgcolor='#ffffff' >\n";
echo "<tr>\n";
echo "<td width='90'></td>\n";
echo "<td width='90'></td>\n";
echo "<td width='90'></td>\n";
echo "<td width='60'></td>\n";
echo "<td width='90'></td>\n";
echo "<td width='110'></td>\n";//echo "<td widht='140'>Adres</td>\n"; dit zou adres weergeven in de kolom
echo "<td width='90'></td>\n";
echo "</tr>\n";
// alle cellen tussen <tr> (tabelrij) plaatsen zodat ze op een rij zijn
while(list($id, $type, $naam, $website, $regio, $postcode, $plaats, $adres, $telefoonnummer) = mysql_fetch_row($result))
{ echo "<table width='715' border='0' cellspacing='0' cellpadding='2' bgcolor='#Ffffff' style='table-layout:fixed' \n";
echo "<tr>\n";
echo "<td width='169'><FONT size='-2' color='#FE4D1B'/>$naam</FONT></td>\n";
echo "<td width='150'><FONT size='-2' color='#666666'/>$adres</FONT></td>\n";
echo "<td width='55'><FONT size='-2' color='#666666'/>$postcode</FONT></td>\n";
echo "<td width='74'><FONT size='-2' color='#666666'/>$plaats</FONT></td>\n";
echo "<td width='90'><FONT size='-2' color='#666666'/>$telefoonnummer</FONT></td>\n";
echo "<td width='178'><FONT size='-2' color='#666666'/>$website</FONT></td>\n";
echo "</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
mysql_close($db);
?>
$server = 'localhost';
$user = 'XXXX';
$pass = 'XXXXXXXXXX';
$dbname = 'XXXXXXXXXXXXX';
$type = $_POST['type'];
$regio = $_POST['regio'];
$plaats = $_POST['plaats'];
if($type != "" && ($regio == "" && $plaats == ""))
{
$query = "SELECT * FROM tabelnaam WHERE type='$type' ORDER BY 'naam'";
}
elseif($type == "" && $regio != "" && $plaats == "")
{
$query = "SELECT * FROM xxxxxxxxxxxxxxxn WHERE regio='$regio' ORDER BY 'naam'";
}
elseif($type == "" && $regio == "" && $plaats != "")
{
$query = "SELECT * FROM xxxxxxxx1 WHERE plaats='$plaats' ORDER BY 'naam'";
}
elseif($type != "" && $regio != "" && $plaats == "")
{
$query = "SELECT * FROM ssssssssssssss WHERE type='$type' AND regio='$regio' ORDER BY 'naam'";
}
elseif($type != "" && $regio == "" && $plaats != "")
{
$query = "SELECT * FROM xxxxxxx WHERE type='$type' AND plaats='$plaats' ORDER BY 'naam'";
}
elseif($type != "" && $regio != "" && $plaats != "")
{
$query = "SELECT * FROM xxxxxxxxxx WHERE type='$type' AND regio='$regio' AND plaats='$plaats' ORDER BY 'naam'";
}
else
{
$message .= "kan niet op aparte criteria sorteren.<\br>\n"; //wat moet er in dit geval gebeuren?
}
if($db = mysql_connect($server, $user, $pass))
{
$message = "";
if(mysql_select_db($dbname, $db))
{
$message .= "";
if($result = mysql_query($query, $db))
{
$message .= "";
}
else
{
$message .= "tabel kan niet geselecteerd worden.<\br>\n";
}
}
else
{
$message .= " Database $dbname niet gevonden.<\br>\n";
}
}
else
{
$message = "Verbinden met database is mislukt.<\br>\n";
}
echo "<table width='715' border='0' cellspacing='0' cellpadding='2' bgcolor='#ffffff' >\n";
echo "<tr>\n";
echo "<td width='90'></td>\n";
echo "<td width='90'></td>\n";
echo "<td width='90'></td>\n";
echo "<td width='60'></td>\n";
echo "<td width='90'></td>\n";
echo "<td width='110'></td>\n";//echo "<td widht='140'>Adres</td>\n"; dit zou adres weergeven in de kolom
echo "<td width='90'></td>\n";
echo "</tr>\n";
// alle cellen tussen <tr> (tabelrij) plaatsen zodat ze op een rij zijn
while(list($id, $type, $naam, $website, $regio, $postcode, $plaats, $adres, $telefoonnummer) = mysql_fetch_row($result))
{ echo "<table width='715' border='0' cellspacing='0' cellpadding='2' bgcolor='#Ffffff' style='table-layout:fixed' \n";
echo "<tr>\n";
echo "<td width='169'><FONT size='-2' color='#FE4D1B'/>$naam</FONT></td>\n";
echo "<td width='150'><FONT size='-2' color='#666666'/>$adres</FONT></td>\n";
echo "<td width='55'><FONT size='-2' color='#666666'/>$postcode</FONT></td>\n";
echo "<td width='74'><FONT size='-2' color='#666666'/>$plaats</FONT></td>\n";
echo "<td width='90'><FONT size='-2' color='#666666'/>$telefoonnummer</FONT></td>\n";
echo "<td width='178'><FONT size='-2' color='#666666'/>$website</FONT></td>\n";
echo "</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
mysql_close($db);
?>
En wat verwacht je nu van ons?
Dat we gaan maken wat je wilt?
Als je niet weet hoe het moet ga je eerst maar eens de boel leren.
Verder lijkt het me slim om mysql_real_escape_string te gebruiken.
Als je niet postiever kan reageren op mijn topic, dan verzoek ik je dat na te laten. Ik heb mijn topic geplaats op het beginnersdeel van deze site. Indien je je dusdanig bevorderd acht om zulk hoogmoedigheid uit te stralen, dan mag je op het gevorderde gedeelte je meningen en feedback geven.
Ik hou het simpel. kan je wat voor me beteken dan graag ene positieve reactie anders maar geen reactie.
Shyaak Nana op 10/06/2010 19:15:23:
Als je niet postiever kan reageren op mijn topic, dan verzoek ik je dat na te laten. Ik heb mijn topic geplaats op het beginnersdeel van deze site. Indien je je dusdanig bevorderd acht om zulk hoogmoedigheid uit te stralen, dan mag je op het gevorderde gedeelte je meningen en feedback geven.
Ik feliciteer je met dit script.
Shyaak Nana op 10/06/2010 19:15:23:
Ik hou het simpel. kan je wat voor me beteken dan graag ene positieve reactie anders maar geen reactie.
En vraag wat je nu wilt.
Het is hier wel een hulp site. Dus is het wellicht wat handiger om je gewoon effe in de stof te verdiepen zodat je een select query kan schrijven zodat je troep uit de database kan trekken. Verder wijs ik je ook nog een keer op mysql_real_escape_string aangezien ze dat blijkbaar nagelaten hebben in je vorige topic.
Ik probeer al doende te leren, want klakkeloos blijven lezen werkt ook niet. Dit neemt niet weg dat ik een prille beginner ben, tutorial , forums lees etc.
maar toch tegen dingen aanloopt.
maar bedankt voor verwijziging naar de escape string. ik ga me in verdiepen
PHP werkt door op verzoek van een browser HTML pagina's te genereren—meestal door strings, stukjes platte tekst, aan elkaar te plakken—en dezen dan als antwoord op die request terug te sturen. Dat is een heel belangrijk principe dat veel beginners vaak niet meteen inzien.
Ow, wacht, dat is helemaal niet relevant voor m'n antwoord zie ik net. Stom, maar ach, misschien verheldert het nog iets.
Anyway, een link maken is heel simpel. Immers:
is al een werkende link. Nu wil jij dat hij niet verwijst naar google, maar naar de waarde van $website. Dus:
Code (php)
1
2
3
2
3
<?php
echo "<td width='178'><FONT size='-2' color='#666666'><a href='$website'>$website</a></FONT></td>\n";
?>
echo "<td width='178'><FONT size='-2' color='#666666'><a href='$website'>$website</a></FONT></td>\n";
?>
Let wel op dat naar SQL injection (waar mysql_real_escape_string een middel tegen is) je op deze manier ook vatbaar bent voor HTML injection, of uiteindelijk XSS (cross-site-scripting) Het gaat bijvoorbeeld al fout wanneer er per ongeluk een quote in $website zit. htmlspecialchars($website, ENT_QUOTES) is daar al een oplossing voor. Maar voordat je dit script online voor publiek zet, zou ik me toch eerst even inlezen in die hack-trucjes.
actie=reactie :-)
thnx