Autor Zpráva
Anonymní
Profil *
<?
$day = 0;
for($x=0;$x<=5;$x++):
echo '<tr><td align="center"><b>';

if($x==0)
$end = 7-$first+1;
elseif($day+7>=$count_days)
$end = $count_days;
else
$end = $day+7;

DateLink($day+1, $end, $x+1);

echo '</td>';

for($i=1;$i<=7;$i++):
echo '<td align="center">';
$day = $x*7+$i-$first+1;

if($date[$day] == $i)
DateLink($day, $day, $day);
else
echo "&nbsp;";

echo '</td>';
endfor;
echo '</tr>';

if(!CheckDate($month, $day+1, $year)) break;
endfor;
?>

Nevíte proč mi to píše v tomto řádku chybu? (viz bold)
DJ Miky
Profil
Takhle tam nic nevidím, o tu chybu by ses s námi nepodělil?
Anonymní
Profil *
Nevím co tam mám za chybu, ale na řádku, kde je if($date[$day] == $i) mi píše že je špatně, nepíše jaká je to chyba, jen že je to prostě špatně a já newím co tam je šptaně. Přijde na to prosím někdo?
Celý kód je následující:

<?
if(!IsSet($month)) $month = Date("m");
if(!IsSet($year)) $year = Date("Y");

$year = Date("Y", MkTime(0,0,0, $month, 1, $year));
$month = Date("m", MkTime(0,0,0, $month, 1, $year));

$count_days = Date("t", MkTime(0,0,0, $month, 1, $year));

for($i=1;$i<=$count_days;$i++):
$date[$i] = Date("w", MkTime(0,0,0,$month,$i,$year));
if($date[$i]==0) $date[$i] = 7;
endfor;

$first = $date[1];

function DateLink($from, $to, $text)
{
global $month, $year;

if(MkTime(0,0,0,$month,$from,$year) <= MkTime(0,0,0, Date("m"), Date("d"), Date("Y"))):
echo '<a href="ukaz.php?month=' . $month . '&year=' . $year . '&from_date=' . $year . '-' . $month . '-' . $from . '&to_date=' . $year . '-' . $month . '-' . $to . '">';
echo $text;
echo '</a>';
else:
echo $text;
endif;
}
?>

<table cellspacing="0" align="center">
<tr><td align="center" colspan="8">

<?
echo '<a href="kalendar.php?month=' . ($month-1) . '&year=' . $year . '">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;';
DateLink(1, $count_days, $month . " / " . $year);
echo '&nbsp;&nbsp;&nbsp;<a href="kalendar.php?month=' . ($month+1) . '&year=' . $year . '">&gt;&gt;</a>';
?>

</td></tr>
<tr><td>T</td><td>Po</td><td>Út</td><td>St</td><td>Čt</td><td>Pá</td>< td>So</td><td>Ne</td></tr>

<?
$day = 0;
for($x=0;$x<=5;$x++):
echo '<tr><td align="center"><b>';

if($x==0)
$end = 7-$first+1;
elseif($day+7>=$count_days)
$end = $count_days;
else
$end = $day+7;

DateLink($day+1, $end, $x+1);

echo '</td>';

for($i=1;$i<=7;$i++):
echo '<td align="center">';
$day = $x*7+$i-$first+1;

if($date[$day] == $i)
DateLink($day, $day, $day);
else
echo "&nbsp;";

echo '</td>';
endfor;
echo '</tr>';

if(!CheckDate($month, $day+1, $year)) break;
endfor;
?>

</table>
WanTo
Profil
Anonymní
Tím, že sem pošleš celý zdrojový kód, nic nevyřešíš. Vlož sem prosím celou chybovou hlášku tak, jak ti ji vypíše PHP. (Ještě jsem nezažil, aby mi PHP prostě řeklo, že je něco "špatně")
Anonymní
Profil *
Tohle to mi píše:

Undefined offset: -5 in
Undefined offset: -4 in
Undefined offset: -3 in
Undefined offset: -2 in
Undefined offset: -1 in
Undefined offset: 0 in
WanTo
Profil
Zkus si ještě před podmínkou vypsat proměnnou $day. Skoro to vypadá, že jsi špatně vypočítal její hodnotu.
Joker
Profil
Anonymní
No prosím, stačí napsat tu hlášku a hned je to jasnější. Takže za prvé, chybu na tom řádku hledáte marně, protože tam žádná chyba není.
V té hlášce je těsně předtím co jste poslal ještě jedno slovíčko:
Notice: Undefined offset: ...

Takže nejde o chybu, ale o poznámku. A ta poznámka Vám říká, že se snažíte z pole $date přečíst prvek, který v poli není, konkrétně se snažíte číst $date[-5], $date[-4], $date[-3], $date[-2], $date[-1] a $date[0].

Jinak řečeno, máte špatně vypočítanou hodnotu proměnné $day
Toto téma je uzamčeno. Odpověď nelze zaslat.