Welkom, Gast. Je bent niet ingelogd.

PHP Notice: Undefined offset: 0 in

Kersentaart
Geplaatst op: 15 Oct 2007, 18:54
PimpCoins: 0
💸+
Bewerken Quote

Hey,
ik ben bezig om die Mastarip source een beetje op te knappen.
Maar ik heb een probleempje,
bij de messagebox geeft hij zo'n leuke error:

Notice: Undefined offset: 0 in
*Mijn site enzo*/includes/functies.inc.php on line 251
Naamloos Offline:

Dit is het 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
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
<?php
if(!defined('included'))
 {
  header('Location: ../../index.php');
  exit;
 }

if(ingelogd() !== TRUE)
 {
  echo nietingelogd();
 }
else
 {
  echo tabel('begintabel');
  echo tabel('titel', '<b>Messagebox - Bericht lezen</b>');
  
  $sql = mysql_query("SELECT * FROM messagebox WHERE id='".addslashes($_GET['id'])."' AND aan='".ingelogdals()."'") or die(mysql_error());
  $num = mysql_num_rows($sql);
  if($num == 0)
   {
    echo "<font color="#cc0000"><b><ul><li>Het bericht bestaat niet!</li></ul></b></font>";
   }
  else
   {
    $rij = mysql_fetch_assoc($sql);
?>
<table border="0" cellpadding="0" cellspacing="2" width="100%" align="center">
 <tr>
  <td width="100" bgcolor="#6B92B8" height="20"><b>Van:</b></td>
  <td bgcolor="#89A8C7" height="20"><?php echo kleur(naam($rij['van']), rang($rij['van']))." ".online($rij['van']); ?></td>
 </tr>
 <tr>
  <td width="100" bgcolor="#6B92B8" height="20"><b>Verstuurd op:</b></td>
  <td bgcolor="#89A8C7" height="20"><?php echo date("d-m-Y H:i:s", $rij['datum']); ?></td>
 </tr>
 <tr>
  <td width="100" bgcolor="#6B92B8" height="20"><b>Onderwerp:</b></td>
  <td bgcolor="#89A8C7" height="20"><?php echo htmlspecialchars(stripslashes($rij['onderwerp']), ENT_QUOTES); ?></td>
 </tr>
 <tr>
  <td width="100%" colspan="2">
   <input type="button" value="Beantwoorden" onclick="document.location='?pagina=club/messagebox/versturen&re=<?php echo $rij['id']; ?>';">
   <input type="button" value="Doorsturen" onclick="document.location='?pagina=club/messagebox/versturen&fwd=<?php echo $rij['id']; ?>';">
   <input type="button" value="Blokkeren" onclick="if(confirm('Weet je zeker dat je deze gebruiker wilt blokkeren? Je ontvangt dan geen berichten meer van deze persoon.')) document.location='?pagina=club/instellingen/blokkeergebruikers&member=<?php echo strtolower(naam($rij['van'])); ?>';">
   <input type="button" value="Verwijderen" onclick="if(confirm('Weet je zeker dat je dit bericht wilt verwijderen?')) document.location='?pagina=club/messagebox/bericht&id=<?php echo $rij['id']; ?>';">
  </td>
 </tr>
</table>
<?php

    echo smile(ubb(stripslashes($rij['bericht'])));
    mysql_query("UPDATE messagebox SET gelezen=1 WHERE id='".addslashes($rij['id'])."'");
   }
  echo tabel('eindetabel');
 }
?>

En dit is het gedeelte van functies.inc.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
function kleur($naam, $status = 0)
 {
  if($status > 7)
   $status = 7;

  $statussen = array
   (
    1 => "#C0C0C0", //Niet geactiveerd
    2 => "",        //Normaal
    3 => "#2337EE", //VIP
    4 => "#CC0000", //Verbannen
    5 => "#DDD800", //Admin
    6 => "#E9F0FF", //Webmaster
    7 => "#000000", //Snake86
   );

  if($status == 2)
   return htmlspecialchars($naam, ENT_QUOTES);
  else
/*251*/   return "<font color="".$statussen[$status]."">".htmlspecialchars($naam, ENT_QUOTES)."</font>";
 }
?>

Als je nog meer nodig hebt, variabelen etc. Zeg het dan maar ik kom er echt niet meer uit.
Wie maakt mij blij?

[Laatst bewerkt door Kersentaart op maandag 15 oktober 2007, om 18:55]
Basjee
Octo
Geplaatst op: 15 Oct 2007, 19:25
PimpCoins: 0
💸+
Bewerken Quote

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php 
function kleur($naam, $status = 2) 
 { 
  if($status > 7) 
   $status = 7; 

  $statussen = array 
   ( 
    1 => "#C0C0C0", //Niet geactiveerd 
    2 => "",        //Normaal 
    3 => "#2337EE", //VIP 
    4 => "#CC0000", //Verbannen 
    5 => "#DDD800", //Admin 
    6 => "#E9F0FF", //Webmaster 
    7 => "#000000", //Snake86 
   ); 

  if($status == 2) 
   return htmlspecialchars($naam, ENT_QUOTES); 
  else 
/*251*/   return "<font color="".$statussen[$status]."">".htmlspecialchars($naam, ENT_QUOTES)."</font>"; 
 } 
?>

Maarten
Geplaatst op: 15 Oct 2007, 19:31
PimpCoins: 0
💸+
Bewerken Quote

Best wel logisch he dat "function kleur($naam, $status = 0)" de fout is.
Dus net als Basjee zei moet je hem op 2 zetten of iets dergelijks.

Basjee
Octo
Geplaatst op: 15 Oct 2007, 19:43
PimpCoins: 0
💸+
Bewerken Quote

Ja, het is logisch omdat '0' niet in de array staat.

Kersentaart
Geplaatst op: 15 Oct 2007, 19:55
PimpCoins: 0
💸+
Bewerken Quote

Werkt niet, geeft nog steeds de zelfde error code.

Als webmaster ingelogd geeft hij een error.
Als normaal lid niet.

[Laatst bewerkt door Kersentaart op maandag 15 oktober 2007, om 20:04]
Syncie
Geplaatst op: 15 Oct 2007, 22:16
PimpCoins: 0
💸+
Bewerken Quote

PHP begint met tellen bij 0, en niet bij 1. Ik weet niet precies hoe je dit gebruikt enzo maar doe eens aan het begin van die functie $status + 1; Want Undefined Offset betekend dat de offset 0 niet bestaand in een array.

📫

Nieuw privébericht

🔥

Registreren


Login