Gå til innhold

Problem med online script


Anbefalte innlegg

Heisann.

 

Bruker ett slikt online script som sjekker at serverene er oppe.

 

<?php
//########################################
//############## Server Monitor ##############
//###################################################
//###### Free Script by Gscripts.net ###############
//################# visit us at ############################
//#### [url="http://gscripts.net"]http://gscripts.net[/url] ##################################
//##################### Free PHP/MySQL Scripts Direcotory ##########
//############################################################

$ip = "blablabla"; // this is the host of the monitored server
$onlinetext = "Web server 1  er på og svare." ; // this is the on-line message
$offlinetext = "Får ikkje oppretta kontakt med server 1." ; // this is the off-line message
$port = "80"; // this is the port that you check

if(@fsockopen($ip,$port,$errno,$errstr,1)) {
echo"<a href='http://$ip' target='_blank'><img src='serveron.gif' width='16' height='15' border='0'></a>  $onlinetext";
} else {
echo"<img src='serveroff.gif' width='16' height='15' border='0'> $offlinetext";
}

 

Tingen er at jeg vil at når den ikke får kontakt med server 1, at den åpner side "server1.php", som gjør at jeg mottar en SMS om at serveren er nede.

 

Hvordan får jeg lagt inn dette?

Lenke til kommentar
Videoannonse
Annonse

<?php
//########################################
//############## Server Monitor ##############
//###################################################
//###### Free Script by Gscripts.net ###############
//################# visit us at ############################
//#### [url="http://gscripts.net"]http://gscripts.net[/url] ##################################
//##################### Free PHP/MySQL Scripts Direcotory ##########
//############################################################

$ip = "blablabla"; // this is the host of the monitored server
$onlinetext = "Web server 1  er på og svare." ; // this is the on-line message
$offlinetext = "Får ikkje oppretta kontakt med server 1." ; // this is the off-line message
$port = "80"; // this is the port that you check

if(@fsockopen($ip,$port,$errno,$errstr,1)) {
echo"<a href='http://$ip' target='_blank'><img src='serveron.gif' width='16' height='15' border='0'></a>  $onlinetext";
} else {
echo"<img src='serveroff.gif' width='16' height='15' border='0'> $offlinetext";
header("Location: server1.php");
}

 

Husk ob_start(); HELT på toppen av siden din.

Lenke til kommentar

Tingen er det at du ikkje kan sende http headers etter at du har skreve ut noe. Med andre ord så vil ikkje header() en din fungere. For å fikse dette så kan du som Mats sa legge til ob_start() heilt på toppen av sida (mao. før du skrive ut noe). Dette starter en buffer som lagrer all output til du kommer på slutten av programmet og dermed så kan du sende så mange http headers du bare vil.

 

 

Edit: Post 500 :new_woot:

Endret av Runar0
Lenke til kommentar

Men så kan man jo spørre om hva vitsen med å skrive en offline tekst i det hele tatt ?

Den vil jo ikke vises, siden server1.php vil lastes med engang.

 

Kan evt bruke :

header("refresh:2; url='server1.php'");

hvor siden videresender etter 2 sekunder, evt et annet antall skunder, dersom du vil det.

Denne kan også settes før output til browser, uten at det gjør noe.

Endret av kakkle
Lenke til kommentar

Emnetittelen i denne tråden er lite beskrivende for trådens innhold og det er derfor ingen god emnetittel. Jo bedre og mer beskrivende emnetittelen er, jo lettere er det for andre å skjønne trådens innhold og det vil være lettere å treffe den riktige forumbrukeren med det rette svaret. Ber deg derfor om å endre emnetittel slik at du unngår at en moderator stenger tråden. Vennligst forsøk å ha dette i tankene neste gang du starter en tråd, og orienter deg om hva vår nettikette sier om dårlig bruk av emnetitler.

 

Bruk p_edit.gif-knappen i første post for å endre emnetittelen.

 

(Dette innlegget vil bli fjernet ved endring av emnetittel. Ikke kommenter dette innlegget, men p_report.gif gjerne dette innlegget når tittelen er endret, så vil det bli fjernet..)

Lenke til kommentar

Jeg er enig med M4rTiN. En include burde være nok.

<?php
//########################################
//############## Server Monitor ##############
//###################################################
//###### Free Script by Gscripts.net ###############
//################# visit us at ############################
//#### [url="http://gscripts.net"]http://gscripts.net[/url] ##################################
//##################### Free PHP/MySQL Scripts Direcotory ##########
//############################################################

$ip = "blablabla"; // this is the host of the monitored server
$onlinetext = "Web server 1 er på og svare." ; // this is the on-line message
$offlinetext = "Får ikkje oppretta kontakt med server 1." ; // this is the off-line message
$port = "80"; // this is the port that you check

if(@fsockopen($ip,$port,$errno,$errstr,1)) 
{
echo"<a href='http://$ip' target='_blank'><img src='serveron.gif' width='16' height='15' border='0'></a> $onlinetext";
} 
else 
{
echo"<img src='serveroff.gif' width='16' height='15' border='0'> $offlinetext";
include_once("server1.php");
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...