Undefined index: type

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Flashfocus

flashfocus

09/06/2008 18:35:00
Quote Anchor link
Ik krijg elke keer een foutmelding:
8: Undefined index: type

In mijn mijn php staat dit:

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
<?
if($cat_data['typ'] == 2)
{

$sql = mysql_query("SELECT * FROM promo_webmaster WHERE type='1' ORDER BY RAND() LIMIT 0,10") or die ( mysql_error() );
while($data = mysql_fetch_assoc($sql))
{

echo "&nbsp;<a href=\"".$data['url']."\"><font face=\"Verdana\" size=\"2\" color=\"#333333\"><u>".$data['naam']."</a></u></font><br>\n";
}

echo "&nbsp;<a href=\"contact.php\"><font face=\"Verdana\" size=\"2\" color=\"#FF0000\"><u>Linkpartner worden?</a></u></font><br>\n";
}
else{
if($cat_data['type'] == 1)
{

echo $cat_data['text'];
}
else{
if(mysql_num_rows($game_result)==0)
{

echo " Geen links in dit categorie\n<br />";
}
else{
while($game_data = mysql_fetch_array($game_result))
{

if($game_data['type'] == '100'){
echo "&nbsp;<a href=\"".$game_data['url']."\"><font face=\"Verdana\" size=\"2\" color=\"#333333\"><u>".$game_data['naam']."</a></u></font><br><span style=\"font-size: 3pt\">&nbsp;</span><br>\n";
}
else{
echo "&nbsp;<a href=\"".$game_data['url']."\"><font face=\"Verdana\" size=\"2\" color=\"#333333\"><u>".$game_data['naam']."</a></u></font><br><span style=\"font-size: 3pt\">&nbsp;</span><br>\n";
}}}}

echo "<!-- <br />&nbsp;<a href=\"adv.php\" class=\"dark\" >Uw link hier ?</a><br>\n -->";
}

?>


Wie kan voor mij deze fout eruit halen (hoe komt het script er dan uit te zien?)
Gewijzigd op 01/01/1970 01:00:00 door Flashfocus
 
PHP hulp

PHP hulp

16/11/2024 10:39:41
 

09/06/2008 18:49:00
Quote Anchor link
flashfocus schreef op 09.06.2008 18:35:
Ik krijg elke keer een foutmelding:
8: Undefined index: type

Waar krijg je die? Want dat (vind ik) ziet er niet uit als een php foutmelding.
Het betekend dat een array met type niet bestaat. Controleren of een var bestaat met isset.
 
Noppes

Noppes

09/06/2008 18:52:00
Quote Anchor link
Da's zeer zeker wel een php foutmelding

-> $cat_data['typ']

een array welke geen index met het naampje type heeft.... dus komt erop neer dat de array $cat_data niet goed geinitialiseerd is....
 

09/06/2008 18:54:00
Quote Anchor link
Noppes schreef op 09.06.2008 18:52:
Da's zeer zeker wel een php foutmelding

Waar krijg je die dan?
Edit:
Wat ik bedoel te zeggen is, dat php fouten op een andere manier geven, meer van: undefined index in bestand.php on regel.
Gewijzigd op 01/01/1970 01:00:00 door
 
Jesper Diovo

Jesper Diovo

09/06/2008 19:04:00
Quote Anchor link
Regel 13. Verander $cat_data['type'] in $cat_data['typ'].
 
Flashfocus

flashfocus

09/06/2008 19:21:00
Quote Anchor link
Hoi Jezpur, da's nou het vreemde, als ik dat doe dan gaat de foutmelding over naar $cat_data['text'];

Undefined index: text
 
Noppes

Noppes

09/06/2008 19:24:00
Quote Anchor link
Toon ons dan eens een print_r of var_udmp van $cat_data..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
var_dump($cat_data);

if($cat_data['typ'] == 2)
{

?>
 
Flashfocus

flashfocus

09/06/2008 21:44:00
Quote Anchor link
Ik ben niet oz'n scripter, bedoel je database uitdraai?


CREATE TABLE `promo_admin` (
`id` int(8) NOT NULL auto_increment,
`datum` varchar(50) NOT NULL default '',
`linkpartners` varchar(50) NOT NULL default '0',
`gratisadv` varchar(50) NOT NULL default '0',
`adv` varchar(50) NOT NULL default '0',
`ip` varchar(50) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=45 ;



CREATE TABLE `promo_cat` (
`cat_ID` int(10) NOT NULL auto_increment,
`cat` varchar(50) NOT NULL default '',
`typ` char(1) NOT NULL default '1',
PRIMARY KEY (`cat_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=30 ;



CREATE TABLE `promo_link` (
`id` int(10) NOT NULL auto_increment,
`naam` varchar(50) NOT NULL default '',
`url` text NOT NULL,
`cat_ID` int(15) NOT NULL default '0',
`email` text NOT NULL,
`date1` varchar(10) NOT NULL default '',
`date2` varchar(10) NOT NULL default '',
`date3` varchar(10) NOT NULL default '',
`type` varchar(50) NOT NULL default '',
`out` varchar(50) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=204 ;


--

CREATE TABLE `promo_login` (
`id` int(8) NOT NULL default '0',
`pass` varchar(50) NOT NULL default '',
`type` char(1) NOT NULL default '1'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;



CREATE TABLE `promo_webmaster` (
`id` int(8) NOT NULL auto_increment,
`naam` varchar(50) NOT NULL default '',
`url` varchar(150) NOT NULL default '',
`out` varchar(50) NOT NULL default '0',
`website` varchar(100) NOT NULL default 'http://www.domein.nl',
`ips` text NOT NULL,
`email` varchar(150) NOT NULL default '',
`type` char(1) NOT NULL default '1',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;
 
Noppes

Noppes

09/06/2008 21:49:00
Quote Anchor link
Nee daar vroeg ik niet om:

Nog maar een keer dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
var_dump($cat_data);

if($cat_data['typ'] == 2)
{

?>


ik wil dat je de uitkomst van die var_dump hier post dan kan er aangetoond worden welke index keys wel en niet bestaan........
 
Flashfocus

flashfocus

09/06/2008 22:23:00
Quote Anchor link
Hoi Noppes,

Sorry hoor? Ik ben niet zo erg bekend met php.. ik begreep je even niet.

Als ik dit in het bestandje bovenplak krijg ik de volgende melding:

Parse error: syntax error, unexpected $end in /home/httpd/vhosts/website.com/httpdocs/startpagina/start.php on line 170
 
Flashfocus

flashfocus

09/06/2008 22:25:00
Quote Anchor link
Ik weet niet als het moest maar ik heb nav deze melding ook even
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } ?>
geplakt. Kreeg toen de melding NULL
 
Noppes

Noppes

10/06/2008 21:48:00
Quote Anchor link
Het gaat erom dat je de var_dump plaats net boven hetgene je gepost hebt in je openings topic...........
 
Jurgen assaasas

Jurgen assaasas

10/06/2008 22:07:00
Quote Anchor link
je typt typ ipv type
 
- SanThe -

- SanThe -

10/06/2008 22:16:00
Quote Anchor link
Je hebt in de ene tabel
`typ` ........
en in de andere
`type`.......

Dat is zeer handig om verwarring te krijgen.
Hou dezelfde spelling aan.
 
Flashfocus

flashfocus

11/06/2008 08:29:00
Quote Anchor link
Noppes schreef op 10.06.2008 21:48:
Het gaat erom dat je de var_dump plaats net boven hetgene je gepost hebt in je openings topic...........


Hoi Noppes als ik dat doe dan krijg ik de zelfde foutmelding als voorheen.
over de }

Met een beetje creativiteit heb ik dit ervan gemaakt:

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
<?php
var_dump($cat_data);

if($cat_data['typ'] == 2)
{

$sql = mysql_query("SELECT * FROM promo_webmaster WHERE type='1' ORDER BY RAND() LIMIT 0,10") or die ( mysql_error() );
while($data = mysql_fetch_assoc($sql))
{

echo "&nbsp;<a href=\"".$data['url']."\"><font face=\"Verdana\" size=\"2\" color=\"#333333\"><u>".$data['naam']."</a></u></font><br>\n";
}

echo "&nbsp;<a href=\"http://www.website.com/?/action,contact.html\"><font face=\"Verdana\" size=\"2\" color=\"#FF0000\"><u>Linkpartner worden?</a></u></font><br>\n";
}
else{
if($cat_data['type'] == 1)
{

echo $cat_data['text'];
}
else{
if(mysql_num_rows($game_result)==0)
{

echo " Geen links in deze categorie\n<br />";
}
else{
while($game_data = mysql_fetch_array($game_result))
{

if($game_data['type'] == '100'){
echo "&nbsp;<a href=\"".$game_data['url']."\" target=\"_blank\"><font face=\"Verdana\" size=\"2\" color=\"#333333\"><u>".$game_data['naam']."</a></u></font><br><span style=\"font-size: 3pt\">&nbsp;</span>\n";
}
else{
echo "&nbsp;<a href=\"".$game_data['url']."\" target=\"_blank\"><font face=\"Verdana\" size=\"2\" color=\"#333333\"><u>".$game_data['naam']."</a></u></font><br><span style=\"font-size: 3pt\">&nbsp;</span>\n";
}}}}

echo "<!-- <br />&nbsp;<a href=\"http://www.website.com/startpagina/adv.php\" class=\"dark\" >Uw link hier ?</a><br>\n -->";
}

?>


en krijg nu op de plek de volgende text:

array(6) { [0]=> string(1) "6" ["cat_ID"]=> string(1) "6" [1]=> string(14) "Cultuur & Taal" ["cat"]=> string(14) "Cultuur & Taal" [2]=> string(1) "1" ["typ"]=> string(1) "1" }

Voor alle zekerheid hieronder de gehele script.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
include 'config.php';
?>

<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<title>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $domein ; ?>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $extentie ; ?>
-
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $slogon ; ?>
</title>
<meta name="keywords" content="advertentie,adverteer,adverteren,promotie,onlinepromotie,promoot,startpagina">
<meta name="language" content="english">
<meta name="description" lang="nl" content="OnlinePromotie, uw eigen startpagina! Adverteer hier voor maar €1,30 en uw link blijft 3 maanden staan! Profiteer vandaag nog van onze Google pagerank!">
<link href="style.css" rel="stylesheet" type="text/css">
<!--
function clickSwapImg() {}
//-->
</head>

<body>
<div align="center"> </div>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="left"></div></td>
</tr>
</table>
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="322"><img src="http://www.website.com/suristart.jpg" width="322" height="104"></td>
<td width="472" valign="bottom"><div align="right"><b><font size="1" face="Verdana" color="#FF0000">Vandaag:</font><font size="1" face="Verdana" color="#333333">
<SCRIPT LANGUAGE="Javascript">

<!--

var dayNames = new Array("zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag");

var monthNames = new Array("januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december");

var now = new Date();

if (now.getMinutes() < 10) minut = "0" + now.getMinutes()

else minut = now.getMinutes()

document.write(dayNames[now.getDay()] + ", " + now.getDate() + " " + monthNames[now.getMonth()] + " " + now.getFullYear() + " - " + now.getHours() + ":" + minut);

// -->


</SCRIPT>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></b></div></td>
</tr>
</table>

<br>
<table width="800" cellpadding="0" border="0" align="center" bgcolor="">
<tr align="center" ><td width="250" height="147" align="center" valign="top">
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
<?
$cat_sql
= "SELECT * FROM `promo_cat` ORDER BY cat ASC";
$cat_result = mysql_query($cat_sql);
$num = mysql_num_rows($cat_result);
while($cat_data = mysql_fetch_array($cat_result))
{

$game_sql = "SELECT * FROM `promo_link` WHERE cat_ID=".$cat_data['cat_ID']." ORDER BY naam ASC";
$game_result = mysql_query($game_sql);
$kolom=@$kolom+1;
$cats = mysql_num_rows($cat_result);
$catpercol = round( ( $cats / 3 ) , 0 );
$catpercol1 = $catpercol + 1;
$catpercol2 = $catpercol1 + $catpercol;
if($kolom==$catpercol1 OR $kolom==$catpercol2)
{

echo " </td>\n <td width=\"250\" valign=\"top\">";
}

?>


<!-- BEGIN CAT -->

<div id="liquid-round_start">
<div class="top_blog"><span></span></div>
<div class="center-content_start">
<table border="0" width="200" cellSpacing="0" cellPadding="0" align="center" bgcolor="#FFFFFF">
<tr>
<td align="left">
<!-- BEGIN CAT -->
<table border="0" width="100%" id="table2" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom-style: solid; border-bottom-width: 1px; padding-left: 10px; padding-right: 10px; padding-top: 1px; padding-bottom: 1px" bgcolor="#FFFFFF" bordercolor="#FFFFFF">
<tr>
<td background="http://www.website.com/startpagina/back.jpg"><img src="http://www.website.com/startpagina/star.png" width="25" height="20">
<font color="#ffffff" size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo " ".$cat_data['cat']."\n"; ?>
</strong></font></td>
</tr>
</table>
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
<?php
var_dump($cat_data);

if($cat_data['typ'] == 2)
{

$sql = mysql_query("SELECT * FROM promo_webmaster WHERE type='1' ORDER BY RAND() LIMIT 0,10") or die ( mysql_error() );
while($data = mysql_fetch_assoc($sql))
{

echo "&nbsp;<a href=\"".$data['url']."\"><font face=\"Verdana\" size=\"2\" color=\"#333333\"><u>".$data['naam']."</a></u></font><br>\n";
}

echo "&nbsp;<a href=\"http://www.website.com/?/action,contact.html\"><font face=\"Verdana\" size=\"2\" color=\"#FF0000\"><u>Linkpartner worden?</a></u></font><br>\n";
}
else{
if($cat_data['type'] == 1)
{

echo $cat_data['text'];
}
else{
if(mysql_num_rows($game_result)==0)
{

echo " Geen links in deze categorie\n<br />";
}
else{
while($game_data = mysql_fetch_array($game_result))
{

if($game_data['type'] == '100'){
echo "&nbsp;<a href=\"".$game_data['url']."\" target=\"_blank\"><font face=\"Verdana\" size=\"2\" color=\"#333333\"><u>".$game_data['naam']."</a></u></font><br><span style=\"font-size: 3pt\">&nbsp;</span>\n";
}
else{
echo "&nbsp;<a href=\"".$game_data['url']."\" target=\"_blank\"><font face=\"Verdana\" size=\"2\" color=\"#333333\"><u>".$game_data['naam']."</a></u></font><br><span style=\"font-size: 3pt\">&nbsp;</span>\n";
}}}}

echo "<!-- <br />&nbsp;<a href=\"http://www.website.com/startpagina/adv.php\" class=\"dark\" >Uw link hier ?</a><br>\n -->";
}

?>

<!-- EINDE CAT -->
</td>
</tr>
</table>
</div>
<div class="bottom_blog"><span></span></div>
</div>

<!-- EINDE CAT -->
<br>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
}
?>

</table>
<br><br>
<table border="0" width="100%" cellSpacing="0" cellPadding="0" bgcolor="#FFFFFF">
<tr>
<td align="left">

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
                       include 'config.php';

                       $query1  = mysql_query("SELECT * FROM promo_link");
                       $all1 = mysql_num_rows($query1);

                       $query1  = mysql_query("SELECT * FROM promo_cat WHERE typ = 1");
                       $all2 = mysql_num_rows($query1);

                       $date = (date ("j"));
                       $query1  = mysql_query("SELECT * FROM promo_link WHERE date1 = '".$date."'");
                       $all3 = mysql_num_rows($query1);
                       ?>



<dt> &nbsp; <b><font size="1" face="Verdana" color="#FF0000">::</font><font size="1" face="Verdana" color="#333333"> Statistieken</b> </dt><br />
<font size="1" face="Verdana" color="#333333">
<dt> &nbsp; Op deze pagina adverteren <b>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $all1 ; ?>
</b> websites. in <b>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $all2 ; ?>
</b> categorieën.</dt><br />

<dt> &nbsp; Wilt u ook succesvol adverteren op onze startpagina neem dan
<a href="http://www.website.com/?/action,contact.html">contact</a> op
met onze sales afdeling voor een passend aanbod.</dt>
</font></td>


</tr>
</table>
 
Flashfocus

flashfocus

11/06/2008 13:33:00
Quote Anchor link
SanThe schreef op 10.06.2008 22:16:
Je hebt in de ene tabel
`typ` ........
en in de andere
`type`.......

Dat is zeer handig om verwarring te krijgen.
Hou dezelfde spelling aan.


Ik heb deze script niet zelf gemaakt
 
Hipska BE

Hipska BE

11/06/2008 13:37:00
Quote Anchor link
en gebruiken!!
 
Jelle Posthuma

Jelle Posthuma

11/06/2008 13:59:00
Quote Anchor link
Begin van je code moet anders als je die vardump wilt gebruiken, want als je bovenaan die vardump zet, zit er natuurlijk nog niks in de variable/array die je wilt gebruiken.
Je moet die vardump plaatsen NA het punt waarbij de variable die je wilt dumpen ook daadwerkelijk gemaakt en/of gevuld is.

Trouwnes, die code zit sowieso erg bagger in elkaar, kan je beter gewoon zelf een code maken...

- Shorttags zijn niet aan te raden.
- Bij echo en variable opvullig kan je beter enkele quotes gebruiken, dan hoef je bij HTML codes ook niet \" te gebruiken.
- Ik zie amper controle als: if(!isset()) of nog beter: if(!empty()).
- Overzicht is alles, dus inspringing gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if($test == true){
    echo '<a href="test.php">test</a>';
}
else{
    foreach($array as $key => $value){
        echo $value.'<br/>';
    }
}

?>


Dat is slechts een voorbeeld qua inspringen.

Trouwens, cijfers hoeven niet in een string:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if($game_data['type'] == '100'){}?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if($game_data['type'] == 100){}?>
Gewijzigd op 01/01/1970 01:00:00 door Jelle Posthuma
 
Flashfocus

flashfocus

11/06/2008 14:54:00
Quote Anchor link
Hoi Jelle,

Dank je voor je advies.. Maar voor mij is dit echt abra ca dabra..
Hoewel ik ook echt mijn best doe om het te begrijpen.

(ik begrijp wel wat qua php.. maar erg beperkt).

Kan iemand mij helpen deze script te herschrijven naar een werkende en veilige versie.

Dit is mijn index pagina, daarnaast heb ik nog 2 a 3 pagina's met hetzelfde probleem. Het betreft hierbij een startpagina script (welke ik heb gekocht.. miskoop dus..)
 
Jelle Posthuma

Jelle Posthuma

11/06/2008 15:24:00
Quote Anchor link
Je kan gewoon het beste gewoon je eigen script door lopen, wat inspringingen maken, en dan van boven tot onder commentaar plaatsen bij dingen die je niet begrijpt, door op internet op te zoeken hoe die dingen in elkaar zitten, en dan in je eigen woorden in dat commentaar gewoon neerzetten wat dat gedeelte doet.

Commentaar in je script gebruiken is altijd een belangrijk onderdeel van overzicht.

Zelf ben ik voorstander om gewoon diverse delen van het script een blokje commentaar te geven met wat het doet, wanneer het wordt opgeroepen, voor het geval je het overzicht verliest.
 
Mark PHP

Mark PHP

11/06/2008 16:04:00
Quote Anchor link
Andere opmerking:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
CREATE TABLE `promo_link` (
`date1` varchar(10) NOT NULL default '',
`date2` varchar(10) NOT NULL default '',
`date3` varchar(10) NOT NULL default '',
);

Voor data's gebruiken we DATE(TIME): klik.
Bovendien ruiken dezelfde kolomnamen met nummers erachter altijd naar een verkeerd datamodel. Kijk daar dus ook eens naar!
 

Pagina: 1 2 volgende »



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.