Page 8 of 11
Re: PHP-ongelmat
Posted: Sun Jun 19, 2011 10:40 pm
by esa94
Feuer wrote:Muistanko aivan väärin, vai eikös korrekti osoite portissa 80 elävään palvelimeen ole localhost:80 eikä silkka localhost?
Onhan toki.
Kuten myös coolbasic.comin korrekti osoite on
http://coolbasic.com:80/
Re: PHP-ongelmat
Posted: Sun Jun 19, 2011 10:46 pm
by Pettis
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.
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.
Re: PHP-ongelmat
Posted: Sun Jun 19, 2011 10:50 pm
by valscion
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.
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.
Re: PHP-ongelmat
Posted: Mon Jun 20, 2011 8:16 pm
by axu
Kokeilin nyt sitten laittaa Apachea uudestaan, mutta PHP vastusti kovasti
Lopulta sain senkin toimimaan, joten nyt voin alkaa hommiin!
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
Re: PHP-ongelmat
Posted: Mon Jun 20, 2011 10:10 pm
by Pettis
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
No vaihdan allekirjoitusta varmaan kerran vuodessa. Mutta tässä vielä osoite:
http://www.webmasterfoorumi.fi/
Re: PHP-ongelmat
Posted: Sat Jul 16, 2011 9:54 am
by Feuer
Miksi seuraavan funktion
Code: Select all
private $content = array();
public function addContent($some_content)
{
$this->$content[] = $some_content;
}
kutsuminen seuraavasti
Code: Select all
parent::addContent("<b style=\"color: #FF0000;\">HELLO DEAR OLD WORLD</b>");
tuo seuraavan errorin:
PHP wrote:Fatal error: Cannot use [] for reading
? 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.
EDIT:Terve vaan, jos osaisin syntaksin ennenkuin yritän tehdä jotain Oikea tapa viitata olion kenttiin on $this->foo eikä $this->$foo
Re: PHP-ongelmat
Posted: Sun Jul 24, 2011 7:04 pm
by DJ-Filbe
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.
Re: PHP-ongelmat
Posted: Sun Jul 24, 2011 7:32 pm
by MetalRain
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.
Php:n
String funktiot auttanevat tässä. Voit vaikka käyttää
explodea haluttuun merkkijonoon molempien avainsanojen suhteen.
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ä");
?>
Tietenkin kannattaa myös miettiä haluaako jossain tapauksissa käsitellä useita tälläisiä esiintymiä tai millaista virheilmoitusta kannattaa laittaa mikäli esiintymiä ei ole. Esimerkiksi jos str_parse_str("alku a loppu alku b loppu","alku", "loppu") saatettaisiin joskus haluta saada selville myös toinen esiintymä "b".
Re: PHP-ongelmat
Posted: Sun Jul 24, 2011 7:41 pm
by DJ-Filbe
Tuota yritin ja unohdin tietysti että PHP haluaa parametreja eri järjestyksessä kuin oletin ja eräästä ohjeesta luin...
Kiitos kovasti
Re: PHP-ongelmat
Posted: Mon Aug 15, 2011 6:42 pm
by peehoopee
Mikähän mahtaa olla ongelma?
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);
?>
Tämmöstä erroria heittää:
Parse error: syntax error, unexpected T_VARIABLE in /home/a8427277/public_html/index.php on line 23
Rivi 23 on siis: "$ip = $_SERVER['REMOTE_ADDR'];"
Olen siis uusi php:ssä ja en tosiaankaan tajua miksi se tuota...
Re: PHP-ongelmat
Posted: Mon Aug 15, 2011 6:45 pm
by Feuer
Pitäisi rivin päässä olla ; - merkki
Re: PHP-ongelmat
Posted: Tue Sep 06, 2011 7:03 pm
by Laurenzo
Vieraskirjassa
http://laurenzo.arkku.net/gosti.php Roskapostia
Kuinka vieraskirjasta voi poistaa viestejä?
Re: PHP-ongelmat
Posted: Tue Sep 06, 2011 7:05 pm
by esa94
Kuinka vieraskirja on toteutettu?
Re: PHP-ongelmat
Posted: Tue Sep 06, 2011 8:20 pm
by Peltsi
Laita vieraskirjaasi tarkistuskysymys joka estää botteja kirjoittelemasta.
Re: PHP-ongelmat
Posted: Mon Nov 14, 2011 2:27 pm
by Feuer
Miksei PHP anna kutsua julkista yläluokan konstruktoria?
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");
}
}
}
ja perivä luokka
Code: Select all
require_once "DB.php";
/**
* Laajentaa DB:tä lautaan liittyvillä metodeilla.
*
* @author Feuer
*/
class Lauta extends DB
{
public function __construct()
{
parent::__construct();
}
}
new Lauta() - kutsu johtaa seuraavaan erroriin: Fatal error: Cannot call constructor in _kehityspröngin_sijainti_palvelimella_/Tietokanta/Lauta.php on line 14
ja rivi neljätoista on tuo Lauta-konstruktorin parent::__construct(); - kutsu.
Re: PHP-ongelmat
Posted: Mon Nov 14, 2011 5:48 pm
by valscion
Minulla tuo kyllä toimii. Etsimäsi virhe ei ole tuossa kohtaa, tai sitten PHP-versiosi on liian vanha. Testasin ajaa tuon koodisi, lisäsin perään rivin
ja PHP ilmoitti vain että Tietokantayhteys epäonnistui.
EDIT: Oiskohan mahdollista että sinulla olisi toinen DB luokka tai jotkut muut nimiavaruudet kolaroivat keskenään? Ilman täyttä koodia on mahdotonta sanoa tätä varmuudella mutta sitä ei vissiin kyllä kannata tänne laittaa.
Re: PHP-ongelmat
Posted: Fri Nov 18, 2011 8:00 pm
by Feuer
Ongelma oli kansioihin jaetuissa kooditiedostoissa ja väärillä poluilla asetelluissa require_onceissa, jotka eivät huutaneet erroria vaikka tiedostoa ei löytynytkään.
Re: PHP-ongelmat
Posted: Fri Nov 18, 2011 8:14 pm
by valscion
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.
Kannattaa kyllä koodatessa laittaa se virheitten raportointi päälle heti.
http://fi2.php.net/manual/en/function.e ... orting.php
Code: Select all
<?php
// Tämä kaiken koodin eteen:
error_reporting( E_ALL );
?>
Re: PHP-ongelmat
Posted: Fri Nov 18, 2011 8:20 pm
by TheFish
VesQ wrote: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.
Kannattaa kyllä koodatessa laittaa se virheitten raportointi päälle heti.
http://fi2.php.net/manual/en/function.e ... orting.php
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.
Re: PHP-ongelmat
Posted: Fri Nov 18, 2011 9:54 pm
by Feuer
Kyllähän minulla on erään joka sivulle sisällytettävän headerin ensimmäisinä riveinä seuraava
Code: Select all
ini_set("display_errors", 1);
ini_set("error_reporting", E_ALL | E_STRICT);
mutta kun joku idiootti sisällytti tuossa selaimen pyytämässä sivussa, jossa ongelmaa esiintyi, ensin tietokantaluokat ja sitten vasta edellämainitun headerin, jolloin virheilmoitusten ilmestyminen on luonnollisesti vähän niin ja näin
Jäi vain ihmetyttämään, että kun require_once ei tiedostoa löytänyt, se ei tappanut skriptin suoritusta, kuten [url=
http://www.php.net/manual/en/function.require.php]dokumentaationurl] mukaan sen olisi ymmärtääkseni pitänyt tehdä ilman error-reporting-asetuksiakin.