My php script is not working?!?

software development

#1

I am a .php ROOKIE so it might not possible to help me but here goes…

I am trying to move some php files to deamhost from another host; however, the php scripting is not woking properly.

Can anyone tell me how to make this:

http://www.anchorageweather.dreamhosters.com/advisory.php

look like this:

http://weather.zendurl.com/advisory.php

Here is the code in the file:

<html>
<body bgcolor="#FFFFBB">

<?php

// Force Defaults for Zone and County
if ( ! isset($_REQUEST['warnzone']) )
$_REQUEST['warnzone']="KYZ030";
if ( ! isset($_REQUEST['warncounty']) )
$_REQUEST['warncounty']="KYC111";
if ( ! isset($_REQUEST['warnlocal']) )
$_REQUEST['warnlocal']="Anchorage";

//You can pass data to this script with:
// http://www.carterlake.org/testadvisory.php?warnzone=KYZ030&warncounty=KYC111&warnlocal=Anchorage+KY
//Where the zone is your zone and the county is your county and location is your location
//using pluses in place of spaces

$warnzone = $_REQUEST['warnzone'];
$warncounty = $_REQUEST['warncounty'];
$warnlocal = $_REQUEST['warnlocal'];

//import NOAA Advisory info
//data can be altered by changing the zone and county numbers
//Target data ends up in $targetwarn and $targettext[0]

$html = implode('', file("http://www.crh.noaa.gov/showsigwx.php?warnzone=${warnzone}&warncounty=${warncounty}"));

//Get the advisory headers and put them in an array

preg_match_all('|<h3>(.*)</h3>|', $html, $headers);
$warnheaders = $headers[1];

//Get the advisory text and put them into an array as well

preg_match_all('|<pre>(.*)</pre>|Uis', $html, $headers);
$warntext = $headers[1];

//If there is more than one advisory, we need to set its priority

if (count($warnheaders) >= 1) {

$i = 0;
$flag = 0;

//First, around here tornados are the biggest danger. A warning is critical information.
//Display this one first no matter what!

while ($i < count($warnheaders)):
if (preg_match("/Tornado Warning/i", $warnheaders[$i])) {  
$targetwarn = $warnheaders[$i];
$targettext = $warntext[$i];
$targettext = explode("$$",$targettext);
$flag = 1;
break;
}
$i++;
endwhile;

//Next if there are none of the above found. Display the first warning message.

if ($flag == 0) {
$i = 0;
while ($i < count($warnheaders)):
if (preg_match("/Warning/i", $warnheaders[$i])) {  
$targetwarn = $warnheaders[$i];
$targettext = $warntext[$i];
$targettext = explode("$$",$targettext);
$flag = 1;
break;
}
$i++;
endwhile;
}

//Next if there are none of the above found. Display the first watch message.

if ($flag == 0) {
$i = 0;
while ($i < count($warnheaders)):
if (preg_match("/Watch/i", $warnheaders[$i])) {  
$targetwarn = $warnheaders[$i];
$targettext = $warntext[$i];
$targettext = explode("$$",$targettext);
$flag = 1;
break;
}
$i++;
endwhile;
}

//Next if there are none of the above found. Display the first advisory message.

if ($flag == 0) {
$i = 0;
while ($i < count($warnheaders)):
if (preg_match("/Advisory/i", $warnheaders[$i])) {  
$targetwarn = $warnheaders[$i];
$targettext = $warntext[$i];
$targettext = explode("$$",$targettext);
$flag = 1;
break;
}
$i++;
endwhile;
}

//Next if there are none of the above found. Display the first statement message.

if ($flag == 0) {
$i = 0;
while ($i < count($warnheaders)):
if (preg_match("/Statement/i", $warnheaders[$i])) {  
$targetwarn = $warnheaders[$i];
$targettext = $warntext[$i];
$targettext = explode("$$",$targettext);
$flag = 1;
break;
}
$i++;
endwhile;
}

//Next if there are none of the above found. Set the advisory to default message.

if ($targetwarn == "Hazardous Weather Outlook") {
$targetwarn = "NO CURRENT ADVISORIES";
$targettext[0] = "THERE ARE NO ACTIVE WATCHES, WARNINGS OR ADVISORIES";
} else if ($targetwarn == "No Active Hazardous Weather Conditions Found") {
$targetwarn = "NO CURRENT ADVISORIES";
$targettext[0] = "THERE ARE NO ACTIVE WATCHES, WARNINGS OR ADVISORIES";
} else if (empty($targetwarn)) {
$targetwarn = "NO CURRENT ADVISORIES";
$targettext[0] = "THERE ARE NO ACTIVE WATCHES, WARNINGS OR ADVISORIES";
} else if ($targetwarn == "Short Term Forecast") {
$targetwarn = "NO CURRENT ADVISORIES";
$targettext[0] = "THERE ARE NO ACTIVE WATCHES, WARNINGS OR ADVISORIES";
}

if ($targetwarn <> "NO CURRENT ADVISORIES") {

$warnlist = 'ALL CURRENT ADVISORIES:';

for ($i = 0; $i <= count($warnheaders); $i++) {
$warnheaderplus = preg_replace( '| |', '+', $warnheaders[$i] );
$warnlist = $warnlist . '
<a href="http://www.crh.noaa.gov/showsigwx.php?warnzone=' . $warnzone. '&warncounty=' . $warncounty . '&local_place1=' . $warnlocal . '&product1=' . $warnheaderplus . '" target="_new">' . $warnheaders[$i] . '</a>';
}
}

}

echo "<b>";
echo $targetwarn;
echo "</b>

<pre>";
echo $targettext[0];
echo $warnlist;
echo "</pre>";
?>

</body>
</html>

#2

Your problem almost certainly lies there. See why it doesn’t work, and what can be done about it.


Simon Jessey | Keystone Websites
Save $97 on yearly plans with promo code [color=#CC0000]SCJESSEY97[/color]