Onhan toki.Feuer wrote:Muistanko aivan väärin, vai eikös korrekti osoite portissa 80 elävään palvelimeen ole localhost:80 eikä silkka localhost?
Kuten myös coolbasic.comin korrekti osoite on http://coolbasic.com:80/
Onhan toki.Feuer wrote:Muistanko aivan väärin, vai eikös korrekti osoite portissa 80 elävään palvelimeen ole localhost:80 eikä silkka localhost?
HTTP-yhteydet menevät oletuksena selaimissa porttiin 80 ellei porttia määritellä. Jos muuten localhost ei toimi, niin kannattaa kokeilla IP-osoitetta 127.0.0.1.Feuer wrote:Muistanko aivan väärin, vai eikös korrekti osoite portissa 80 elävään palvelimeen ole localhost:80 eikä silkka localhost?
Itse tykkään testipalvelinta pyöritellä osoitteessa 8080 tai jossain muussa kuin oletuksessa. Tällöin ei palvelin vahingossa häiritse muita ohjelmia, joita sama 80-portti kiinnostaisi.Pettis wrote:Noissa palvelinhommissa kannattaa huomioida, että joissain tapauksissa jotkin sovellukset käyttävät porttia 80, jolloin palvelin ei pysty siihen itseään laittamaan. Kannattaa katsoa palvelimen logeista, että mitä se sinne on käynnistyksen yhteydessä kirjoitellut, jos kaikki ei toimi ongelmitta.
No vaihdan allekirjoitusta varmaan kerran vuodessa. Mutta tässä vielä osoite: http://www.webmasterfoorumi.fi/axu wrote:BTW Pettis, kannattaako viitata viestissä allekirjoitukseen, kun sen sisältö voi vaihtua, ja joillakin (esim. itselläni) on käytössä asetus joka piilottaa allekirjoitukset? Ihan pätevän oloiset sivut muuten, jos tulee jotain mieleen niin rekkaan sinne että sais vähän eloa se paikka
Code: Select all
private $content = array();
public function addContent($some_content)
{
$this->$content[] = $some_content;
}
Code: Select all
parent::addContent("<b style=\"color: #FF0000;\">HELLO DEAR OLD WORLD</b>");
? Jos lukisin virheilmoituksen osoittamalla rivillä, olisi ilmoituksessa jotain järkeä, mutta kun virheilmoitus osoittaa tuon addContentin ainoalle riville, jossa yritän lisätä taulukkoon dataa.PHP wrote:Fatal error: Cannot use [] for reading
Terve vaan, jos osaisin syntaksin ennenkuin yritän tehdä jotain Oikea tapa viitata olion kenttiin on $this->foo eikä $this->$foo
Php:n String funktiot auttanevat tässä. Voit vaikka käyttää explodea haluttuun merkkijonoon molempien avainsanojen suhteen.DJ-Filbe wrote:Kuinkahan mahtaisi onnistua merkkijonosta pätkän hakeminen seuraavalla tavalla:
str_parse_str("pitkä merkkijono...xx.. pitkä merkkijono", "merkkijono", "pitkä");
//palauttaa "...xx.. "
eli ensin etsitään ensimmäinen esiintymä merkkijonosta (parametri2) ja tätä seuraava esiintymä merkkijonosta (parametri3), ja palautetaan merkkijono, johon kuuluu väliin jäävä osa merkkijonosta.
Kysyn siis valmista funktiota.
Code: Select all
<?php
function str_parse_str($txt,$start,$end) {
$txtarr = explode($start,$txt);
$txtarr = explode($end,$txtarr[1]);
return $txtarr[0];
}
$testtxt = "pitkä merkkijono...xx.. pitkä merkkijono";
echo str_parse_str($testtxt,"merkkijono","pitkä");
?>
Code: Select all
<?php
$th = fopen("Visitors.txt", "r");
$maarat = fgets($tt, 1024);
fclose($th);
$maara = $maarat + 1
$ip = $_SERVER['REMOTE_ADDR'];
$host = $_SERVER['REMOTE_HOST'];
$HUA = $_SERVER['HTTP_USER_AGENT'];
$aika = date("Y-m-d H:i:s");
if ($ip === " *oma ip osoitteeni* ")
$ip = "Ylläpitäjä";
$tt = fopen("VisitorData.txt", "a");
fwrite($tt, "\n ----------------------------------------");
fwrite($tt, "\n Time: $aika");
fwrite($tt, "\n IP: $ip");
fwrite($tt, "\n Host: $host");
fwrite($tt, "\n HTTP user agent: $HUA");
fwrite($tt, "\n Visiter number: $maara");
fwrite($tt, "\n ----------------------------------------");
fclose($tt);
$ts = fopen("Visitors.txt", "w");
fwrite($ts, "$maara");
fclose($ts);
?>
Pitäisi rivin päässä olla ; - merkkiCode: Select all
$maara = $maarat + 1
Kuinka vieraskirja on toteutettu?Laurenzo wrote:Vieraskirjassa http://laurenzo.arkku.net/gosti.php Roskapostia
Kuinka vieraskirjasta voi poistaa viestejä?
Laita vieraskirjaasi tarkistuskysymys joka estää botteja kirjoittelemasta.Laurenzo wrote:Vieraskirjassa http://laurenzo.arkku.net/gosti.php Roskapostia
Kuinka vieraskirjasta voi poistaa viestejä?
Code: Select all
class DB
{
private $pdo = null;
protected function getPdo()
{
return $this->pdo;
}
public function __construct()
{
try
{
$opt = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'");
$this->pdo = new PDO("mysql: host=localhost; dbname=tietokanta","feuer","minun_salasanani", $opt);
}
catch(PDOException $ex)
{
DIE("Tietokantayhteys epäonnistui");
}
}
}
Code: Select all
require_once "DB.php";
/**
* Laajentaa DB:tä lautaan liittyvillä metodeilla.
*
* @author Feuer
*/
class Lauta extends DB
{
public function __construct()
{
parent::__construct();
}
}
Code: Select all
$test = new Lauta();
Kannattaa kyllä koodatessa laittaa se virheitten raportointi päälle heti.Feuer wrote:
Ongelma oli kansioihin jaetuissa kooditiedostoissa ja väärillä poluilla asetelluissa require_onceissa, jotka eivät huutaneet erroria vaikka tiedostoa ei löytynytkään.
Code: Select all
<?php
// Tämä kaiken koodin eteen:
error_reporting( E_ALL );
?>
Lienee parempi laittaa ne kehitysympäristössä päälle php.inin kautta.VesQ wrote:Kannattaa kyllä koodatessa laittaa se virheitten raportointi päälle heti.Feuer wrote:
Ongelma oli kansioihin jaetuissa kooditiedostoissa ja väärillä poluilla asetelluissa require_onceissa, jotka eivät huutaneet erroria vaikka tiedostoa ei löytynytkään.
http://fi2.php.net/manual/en/function.e ... orting.php
Code: Select all
<?php // Tämä kaiken koodin eteen: error_reporting( E_ALL ); ?>
Code: Select all
ini_set("display_errors", 1);
ini_set("error_reporting", E_ALL | E_STRICT);