Online/offline script voor website
Beste PHP-freakies(niet slecht bedoeld hé),
Ik zoek al een tijdje een script, waarbij je op een pagina, een php bestand moet includen, waarin staat of je site offline of online is + reden(als hij offline is).
Bijvoorbeeld: ik wil onderhoud aan mijn site doen, dus ik ga naar de admin van dat script, stel het op offline in, stel een reden in, en als je op een pagina komt waarin het script wordt geinclude, staat dat de site offline is + reden.
Kan je der aan uit? :P
alvast bedankt :p
Nille
Ik zoek al een tijdje een script, waarbij je op een pagina, een php bestand moet includen, waarin staat of je site offline of online is + reden(als hij offline is).
Bijvoorbeeld: ik wil onderhoud aan mijn site doen, dus ik ga naar de admin van dat script, stel het op offline in, stel een reden in, en als je op een pagina komt waarin het script wordt geinclude, staat dat de site offline is + reden.
Kan je der aan uit? :P
alvast bedankt :p
Nille
Het is een eitje om te maken, kwestie van een database verbinding maken en kijken 'of daar een 1 of een 0 staat'. Valt een beetje in de zelfde categorie als mijn banscript wat ik aan het maken ben (krijg je te zien door wie je gebanned bent, tot waneer, en waarom enzo).
Maareh, alles is een beetje afhankelijk van hoe hoog jij jou kennis niveau inschat.
Maareh, alles is een beetje afhankelijk van hoe hoog jij jou kennis niveau inschat.
Wel, eigenlijk heb ik niet zoveel ervaring in PHP, ik kan er wel een beetje mee overweg, snap je.
Maar MySQL, forms, etc lukt nog niet zo goed :S
Maar MySQL, forms, etc lukt nog niet zo goed :S
Nils:
Wel, eigenlijk heb ik niet zoveel ervaring in PHP, ik kan er wel een beetje mee overweg, snap je.
Maar MySQL, forms, etc lukt nog niet zo goed :S
Maar MySQL, forms, etc lukt nog niet zo goed :S
Wat kan je dan wel?
Forms & MySQL lijken me zowat het belangrijkste/meest gebruikte :)
Tutorials eens doornemen dan ;)
denk je soms dat ik een stomme n00B ben?
Nils:
denk je soms dat ik een stomme n00B ben?
'k wil je niet extreem laag inschatten, maar aan je leeftijd te zien zal je er niet zo ver van af zitten.. ;) 't is natuurlijk oppervlakkig om mensen in te schatten adhv hun leeftijd, maar soit :) Fijne reactie trouwens ;)
MySQL table
id INT(2) NOT NULL AUTO_INCREMENT,
offline INT(1) NOT NULL default '',
reason TEXT NOT NULL default '',
PRIMARY KEY(id)
) ENGINE=MyISAM;
config.php (deze include je meestal wel op alle pagina's)
id INT(2) NOT NULL AUTO_INCREMENT,
offline INT(1) NOT NULL default '',
reason TEXT NOT NULL default '',
PRIMARY KEY(id)
) ENGINE=MyISAM;
config.php (deze include je meestal wel op alle pagina's)
Het is een kwestie van een tabel met daarin:
ID (1 per gedeelte van de site)
Naam (Kan ook alleen een ID gebruiker, maar Naam is duidelijker)
Status (Enum, 0/1, 0 is online, 1 is bijv. offline)
Rede
Eventueel een datum/tijd erin waarop je verwacht klaar te zijn met je onderhoudswerkzaamheden.
Bij het bezoeken van een bepaald onderdeel doe je een query naar de database met iets als 'select status from tabel where id = $bla', waarin bla het id van het onderdeel is.
Vervolgens kijk je of er een 0 of een 1 staat. Bij 0 doe je niks, en bij 1 doe je een exit, met erboven de eventuele tekst/uitleg/datum.
Het 'administratie' systeem is helemaal peanuts, ik ga er vanuit dat je al een lijstje van jou site onderdelen heb, dus hoef je alleen maar te update:
Overigens, ipv de halve site down te halen. Kan je niet beter eerst je 'updates' locaal testen, en dan alles huppakee! uploaden?
ID (1 per gedeelte van de site)
Naam (Kan ook alleen een ID gebruiker, maar Naam is duidelijker)
Status (Enum, 0/1, 0 is online, 1 is bijv. offline)
Rede
Eventueel een datum/tijd erin waarop je verwacht klaar te zijn met je onderhoudswerkzaamheden.
Bij het bezoeken van een bepaald onderdeel doe je een query naar de database met iets als 'select status from tabel where id = $bla', waarin bla het id van het onderdeel is.
Vervolgens kijk je of er een 0 of een 1 staat. Bij 0 doe je niks, en bij 1 doe je een exit, met erboven de eventuele tekst/uitleg/datum.
Het 'administratie' systeem is helemaal peanuts, ik ga er vanuit dat je al een lijstje van jou site onderdelen heb, dus hoef je alleen maar te update:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if(isset($_POST['submitform']))
{
if(isset($_POST['id']) && isset($_POST['status']) && isset($_POST['rede'])
{
$id = mysql_real_escape_string($_POST['id']);
$status = mysql_real_escape_string($_POST['status']);
$rede = mysql_real_escape_string(nl2br($_POST['rede']));
$result = mysql_query("UPDATE tabel SET status=".$status.", rede=".$rede." WHERE id=".$id."")
or die(mysql_error());
}
}
?>
if(isset($_POST['submitform']))
{
if(isset($_POST['id']) && isset($_POST['status']) && isset($_POST['rede'])
{
$id = mysql_real_escape_string($_POST['id']);
$status = mysql_real_escape_string($_POST['status']);
$rede = mysql_real_escape_string(nl2br($_POST['rede']));
$result = mysql_query("UPDATE tabel SET status=".$status.", rede=".$rede." WHERE id=".$id."")
or die(mysql_error());
}
}
?>
Overigens, ipv de halve site down te halen. Kan je niet beter eerst je 'updates' locaal testen, en dan alles huppakee! uploaden?
Al bedankt voor alle codes.
arjan, daar zeg je al zoiets,
dat doe ik ook veel hoor :)
maar stel nu dat je de site nu even voor een week ofzo offline moet halen voor een of andere, famiale reden of weet ik veel :P
arjan, daar zeg je al zoiets,
dat doe ik ook veel hoor :)
maar stel nu dat je de site nu even voor een week ofzo offline moet halen voor een of andere, famiale reden of weet ik veel :P
De volgende code komt rechtstreeks uit de php manual:
Example 1. fsockopen() Example
Dit zou je kunnen omvormen naar:
Example 1. fsockopen() Example
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
Dit zou je kunnen omvormen naar:
Arend, het is dat niet wat ik bedoel ;)
maar toch bedankt
maar toch bedankt
Arend, het gaat om een gedeelte van een site (bijv een gastenboek, of een weblog), niet één bepaalde server. Tenzij Nils zo rijk is dat hij een heel rack van servers heeft hangen puur voor iedere pagina van zijn weblog ;).
Nils, als je het goed doet zou je nooit een gedeelte van je site moeten down gooien. Eerst testen, daarna uploaden. Niet on-the-fly op een productieserver gaan lopen programmeren. Maargoed, jou keuze ;).
Nils, als je het goed doet zou je nooit een gedeelte van je site moeten down gooien. Eerst testen, daarna uploaden. Niet on-the-fly op een productieserver gaan lopen programmeren. Maargoed, jou keuze ;).
Arjan, ik zeg hetzelfde als daarnet.
Het is niet alleen voor updates, maar stel dat de site tijdelijk stopt, dan kan ik hem simpel offline halen zonder de hoofdpagina te bewerken ofzo :P
Het is niet alleen voor updates, maar stel dat de site tijdelijk stopt, dan kan ik hem simpel offline halen zonder de hoofdpagina te bewerken ofzo :P
Ohja, right.
Nouja, ik had een hoop andere reacties nog niet gezien.. in elk geval weet ik inderdaad niet of het verstandig is om het zo op te lossen, (ik heb zelf nooit het idee gehad om complete delen van mn website offline te gooien en daar rekening mee te houden in een script)
Maargoed, success dan.
Nouja, ik had een hoop andere reacties nog niet gezien.. in elk geval weet ik inderdaad niet of het verstandig is om het zo op te lossen, (ik heb zelf nooit het idee gehad om complete delen van mn website offline te gooien en daar rekening mee te houden in een script)
Maargoed, success dan.




