Ik heb de search gebruikt en ben topics tegengekomen met dezelfde foutmelding, maar die boden me geen uitkomst. Ik heb het volgende script, wordt geïnclude door index.php:
Wanneer ik dit uitvoer krijg ik de foutmelding Warning: Cannot use a scalar value as an array in /home/chilloso/public_html/amptracker/proc/info.php on line 48. Wat ik ook probeer, ik kan er geen mooie oplossing/workaround voor vinden.
Het vreemde is dat index.php bij andere onderdelen van de site ook bestanden include, die op een soortgelijke manier werken als bovenstaand script. Bij die andere onderdelen heb ik nog niet eerder dit soort foutmeldingen gehad.
$tmp['info_html'] is een string, $var['script_data'] ook... waarom gaat er dan toch iets fout?
Script is overigens nog niet echt geoptimaliseerd, commentaar op de werkwijze mag achterwege gelaten worden
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
| if(defined('IS_INCLUDED')) { $var['script_stylesheet'] = "style_info"; if(!empty($_GET['aid'])) { if(preg_match("/[^0-9]+$/ ", $_GET['aid'])) die("Alleen cijfers toegestaan in AID"); $aid_query = mysql_query("SELECT artiest_naam FROM artiest WHERE artiest_id = '".$_GET['aid']."'") or die(mysql_error()); $a_naam = mysql_result($aid_query, 0); $aid_query = mysql_query("SELECT n.nummer_id, n.nummer_titel, b.album_id, b.album_titel FROM nummer n, album b WHERE n.nummer_artiest_id = '".$_GET['aid']."' AND b.album_id = n.nummer_album_id ORDER BY n.nummer_titel ASC") or die(mysql_error()); $tmp['info_html'] .= '<h1>'.$a_naam.'</h1><br/>'; $tmp['info_html'] .= '<table width=100%>'; $tmp['art_num'] = array(); $tmp['alb'] = array(); $tmp['num_alb'] = array(); $tmp['art_num_lcase'] = array(); while($aid = mysql_fetch_assoc($aid_query)) { if(!in_array(strtolower($aid['nummer_titel']), $tmp['art_num_lcase'])) { $tmp['art_num_lcase'][] = strtolower($aid['nummer_titel']); $tmp['art_num'][$aid['nummer_id']] = $aid['nummer_titel']; //$tmp['alb'][$aid['nummer_id']] = $aid['album_titel']; //$tmp['num_alb'][$aid['nummer_id']] = $aid['album_id']; } } foreach($tmp['art_num'] AS $var => $val) { $tmp['info_html'] .= '<tr><td>'.$var.'</td><td>'.$val.'</td></tr>'; } $tmp['info_html'] .= '</table>'; } elseif(!empty($_GET['nid'])) { } elseif(!empty($_GET['bid'])) { } $var['script_data'] = $tmp['info_html']; } |
Wanneer ik dit uitvoer krijg ik de foutmelding Warning: Cannot use a scalar value as an array in /home/chilloso/public_html/amptracker/proc/info.php on line 48. Wat ik ook probeer, ik kan er geen mooie oplossing/workaround voor vinden.
Het vreemde is dat index.php bij andere onderdelen van de site ook bestanden include, die op een soortgelijke manier werken als bovenstaand script. Bij die andere onderdelen heb ik nog niet eerder dit soort foutmeldingen gehad.
$tmp['info_html'] is een string, $var['script_data'] ook... waarom gaat er dan toch iets fout?
Script is overigens nog niet echt geoptimaliseerd, commentaar op de werkwijze mag achterwege gelaten worden