2013-07-23 2 views
0

Так этот скрипт перестал работать после обновления сервера, и я не имею ни малейшего представления, почему. (Обновлена ​​PHP 5)PHP скрипт сломана после обновления сервера

Я не могу на самом деле найти то, что случилось с ним, ключи Я предположил, что это проблема вокруг линии 62.

Это сценарий, который вычисляет биоритм.

<?php 
    $now = gmdate('D, d M Y H:i:s') . ' GMT'; 
    header('Expires: ' . $now); 
    header('Last-Modified: ' . $now); 
    header("Cache-Control: no-store, no-cache, must-revalidate"); 
    header("Pragma: no-cache"); 
    error_reporting(0); 

    $copyright = "By www.magnaromagna.it"; 


    $name = $_POST["name"]; 
    $day = $_POST["day"]; 
    $month = $_POST["month"]; 
    $year = $_POST["year"]; 
    $cycle = $_POST["cycle"]; 
    $chartsize = $_POST["chartsize"]; 

    $name = strip_tags($name); 
    if($chartsize == "small") 
    { 
     $chartwidth = 450; 
     $chartheight = 252; 
     $tablewidth = 500; 
    } 
    elseif($chartsize == "medium") 
    { 
     $chartwidth = 625; 
     $chartheight = 350; 
     $tablewidth = 655; 
    } 
    else 
    { 
     $chartwidth = 800; 
     $chartheight = 448; 
     $tablewidth = 820; 
    } 


    $date = date("m/d/y"); 
    function drawRhythm($daysalive, $period, $color) 
{ 
    //$period = $period * 2; 
    global $cycle, $image, $chartwidth, $chartheight; 


    $centerday = $daysalive - ($cycle/2); 
    $plotscale = ($chartheight - 25)/2; 
    $plotcenter = ($chartheight - 25)/2; 

    // draw the curve 
    for($count = 0; $count <= $cycle; $count ) 
    { 

echo $date ; 
     $phase = ((($centerday) $count) % $period)/$period * 2 * pi(); 
     $y = 1 - sin($phase) * (float)$plotscale (float)$plotcenter; 

     if($count > 0) 
     { 
      imageLine($image, $oldx, $oldy, $count * $chartwidth/$cycle, $y, $color); 
     } 
     $oldx = $count * $chartwidth/$cycle; 
     $oldy = $y; 
     } 

} 
$data1 = gregorianToJD($month, $day, $year) ; 
$data2 = gregorianToJD(date("m"), date("d"), date("Y")) ; 
$pastdays = abs($data1 - $data2); 
// $pastdays = abs(gregorianToJD($month, $day, $year) - gregorianToJD(date("m"), date("d"), date("Y"))); // 

$image = imageCreate($chartwidth, $chartheight); 

$colorbackground = imageColorAllocate($image, 0, 0, 0); 
$colorforeground = imageColorAllocate($image, 255, 255, 255); 
$colorgrid   = imageColorAllocate($image, 255, 255, 255); 
$colorborder  = imageColorAllocate($image, 175, 175, 175); 
$colorcross  = imageColorAllocate($image, 255, 255, 255); 
$colorphysical  = imageColorAllocate($image, 0, 0, 255); 
$coloremotional = imageColorAllocate($image, 255, 0, 0); 
$colorintellectual = imageColorAllocate($image, 0, 255, 0); 
$colorintuitive = imageColorAllocate($image, 255, 0, 255); 
$colorawareness = imageColorAllocate($image, 255, 125, 0); 
$colorspiritual = imageColorAllocate($image, 0, 255, 255); 
$coloraesthetic = imageColorAllocate($image, 255, 255, 0); 

imageFilledRectangle($image, 0, 0, $width - 1, $height - 1, $colorbackground); 


$nrsecondsperday = 60 * 60 * 24; 
$diagramdate = time() - ($cycle/2 * $nrsecondsperday) 
       $nrsecondsperday; 
$flagcount = 1; 
for ($index = 1; $index < $cycle; $index ) 
{ 
    $thisdate = getDate($diagramdate); 
    $countCoord = ($chartwidth/$cycle) * $index; 


    imageLine($image, $countCoord, $chartheight - 25, $countCoord, 
       $chartheight - 20, $colorgrid); 

    $flag = $flagcount%2; 

    if($cycle == 60 && $flag == 0) 
    { 
     imageString($image, 3, $countCoord - 2, $chartheight - 16, 
       $thisdate[ "mday"], $colorgrid); 
    } 
    elseif($cycle != 60) 
    { 
     imageString($image, 3, $countCoord - 5, $chartheight - 16, 
       $thisdate[ "mday"], $colorgrid); 
    } 
    $flagcount ; 
    $diagramdate = $nrsecondsperday; 
} 


imageRectangle($image, 0, 0, $chartwidth - 1, $chartheight - 20, 
       $colorborder); 

imageLine($image, 0, ($chartheight - 20)/2, $chartwidth, 
      ($chartheight - 20)/2, $colorcross); 
imageLine($image, $chartwidth/2, 0, $chartwidth/2, $chartheight - 20, 
      $colorcross); 

drawRhythm($pastdays, 23, $colorphysical); 
drawRhythm($pastdays, 28, $coloremotional); 
drawRhythm($pastdays, 33, $colorintellectual); 
drawRhythm($pastdays, 38, $colorintuitive); 
drawRhythm($pastdays, 43, $coloraesthetic); 
drawRhythm($pastdays, 48, $colorawareness); 
drawRhythm($pastdays, 53, $colorspiritual); 

$subnum = rand(0, 999999); 
$subnum = "images/dummies/".$subnum.".gif"; 
imageGIF($image,$subnum); 
imagedestroy($image); 
?> 

<html> 

<head> 
<title>Risultato Bioritmo</title> 
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> 
<meta name="robots" content="index,follow" /> 
<link rel="stylesheet" type="text/css" href="biostyle.css"> 
</head> 

<body> 
<div align="center"><center> 
<table border="0" cellpadding="3" cellspacing="0" width="<?echo"$tablewidth";?>"> 
<TR><TD align = "right"><a href="http://www.magnaromagna.it/bioritmo/" target="_blank" class="pagelinks">Calcola altro bioritmo</a> 
    </TD></TR></TABLE> 
</div> 
<div align="center"><center> 
<table border="1" cellpadding="7" cellspacing="0" width="<?echo"$tablewidth";?>" class="outertable"> 
    <tr> 
    <td align="center" class="genericstyle"><p class="bluesubheader"> 
    <? 
     if($name != "") 
     { 
     echo"Bioritmo per $name<br>"; 
     } 
     else 
     { 
      echo"Mappa dei tuoi bioritmi<br>"; 
     } 
    ?> 

    <? 
     echo"Nascita: $month/$day/$year<br> 
     Data di oggi: $date"; 
    ?> 
    </p> 
    <p align="center"><img src="<?echo"$subnum";?>"> 
     Rosso: Ciclo Emozionale&nbsp;|&nbsp; 
     Blu: Ciclo Fisico&nbsp;|&nbsp; 
     Verde: Ciclo Intelligenza <br> 
     Viola: Intuito&nbsp;|&nbsp; 
     Acqua: Ciclo Spirituale&nbsp;|&nbsp; 
     Giallo: Ciclo Estetico&nbsp;|&nbsp; 
     Arancione:Ciclo Consapevolezza</p> 
    <p align="left"><span class="bluesubheader"><br> 
    Capire il tuo bioritmo</span></p> 
    </td> 
    </tr> 
</table> 
</center></div> 
<div align="center"><center> 
<table border="0" cellpadding="3" cellspacing="0" width="<?echo"$tablewidth";?>"> 
<TR><TD align = "right"><a href="http://www.magnaromagna.it/bioritmo/" class="pagelinks" target="_blank">Calcola altro bioritmo</a> 
    </TD></TR></TABLE> 
</div> 
<div align="center"><center> 

<table border="0" cellpadding="7" cellspacing="0" width="300"> 
    <tr> 
    <td align="center" class="copyright">Copyright Magnaromagna</td> 
    </tr> 
</table> 
    </center></div> 
    </body> 
    </html> 
    <?include("images/dummies/cleanup.php"); 

    ?> 

Любая помощь была бы чрезвычайно оценена!

+2

определить «перестали работать» .. это бросает ошибки? – tlenss

+1

Установлены ли короткие теги на ** ON **? Если нет, измените '

+0

он просто не делает то, что должен. – user2602145

ответ

0

Как я видел ваш код найти, что ваш цикл здесь:

for($count = 0; $count <= $cycle; $count ) 

это бесконечный цикл, так что это разумно:

for($count = 0; $count <= $cycle; $count++ ) //use increment or decrements 

И другое дело, что использование использования сортировать тег PHP, то есть <?, это вызовет проблему, и вы не оставите в ней пробелы. многие серверы не поддерживают это. Поэтому всегда используйте PHP полный тег т.е.

<?php // в каждом месте использовать его может быть Ваш вид тегов не на

всегда должен оставить пространство после тега.

Ваш код:

<?echo"$tablewidth";?> 

Оно должно быть:

<?php echo "$tablewidth"; ?> 

Проверьте все, что и ваш скрипт будет работать.

0

Утро, не уверен, что в его опечатке, но в разделе кривой кривой у вас есть две переменные рядом с каждым, только что разделенные() .. Когда я быстро запускал сценарий локально, он дал мне T_variable ошибки в следующих двух строках. .

$phase = ((($centerday) $count) % $period)/$period * 2 * pi(); 

должен быть

$phase = ((($centerday) * $count) % $period)/$period * 2 * pi(); 

как бросает неожиданный t_variable ошибку.

Также линия ниже

$y = 1 - sin($phase) * (float)$plotscale (float)$plotcenter; 

нуждается в sepeartor между (float)$plotscale и (float)$plotcenter ... еще, что также бросает T_Variable ошибку ...

надеюсь, что может помочь.

Смежные вопросы