Page 9 of 11

Re: PHP-ongelmat

Posted: Mon Jan 09, 2012 11:34 pm
by Peltsi
Keksiikö kukaan miksi echo ei suolla ulos mitään?

Code: Select all

<?php

if ($_GET["p"] != null) {
$page = ($_GET["p"]);
} else {
$directory = "System/Guestbook/";
if (glob($directory . "*.txt") != false)
 $page = count(glob($directory . "*.txt"));
}

$viestit = file('System/Guestbook/'.$page.'.txt');
$viestit = array_reverse($viestit);
$viestimaara = count($viestit);

for ($i = 0; $i < $viestimaara; $i++) {
   $tiedot = explode("|", $viestit[$i], 4);


   $nimi = $tiedot[0];
   $aika = $tiedot[1];
   $viesti = $tiedot[2];
   $iposo = $tiedot[3];

   echo "<p><b>Lähettäjä</b>: $nimi <p>";
   echo "<b>Aika</b>: " . date("d.m.Y H:i", $aika) . "<br>";
   echo "<br>$viesti<hr>";
}

if (glob($directory . "*.txt") != false)
 $maarat = count(glob($directory . "*.txt"));

$edel = $page - 1;
$seur = $page + 1;



If (is_file ($directory.$edel.".txt") != false) {

If (is_file ($directory.$seur.".txt") != false) {

echo "<h3><a href='lomake.php?p=".$seur."'>Uudemmat viestit</a>---<a href='lomake.php?p=".$edel."'>Vanhemmat viestit</a></h3>";

}

} else {

If (is_file ($directory.$edel.".txt") != false)
echo "<h3>Uudemmat viestit---<a href='lomake.php?p=".$edel."'>Vanhemmat viestit</a></h3>";


If (is_file ($directory.$seur.".txt") != false)
echo "<h3><a href='lomake.php?p=".$seur."'>Uudemmat viestit</a>---Vanhemmat viestit</h3>";

}


?>
Elikkä, kansiossa on 3 tiedostoa (1.txt, 2.txt...) , jokaisessa on viestejä. Ylläoleva koodinpätkä valitsee oikean tiedoston (eli katsoo antaako $_Get["p"] mitään arvoa ja mikä se on ja niinedespäin) ja tulostaa viestit. Ongelmana on tuo "valikko", eli sillä pitäisi voida vaihtaa tiedostoa klikkaamalla linkkiä (joko "uudemmat viestit" tai "vanhemmat viestit"). Siinä on myös ominaisuus, että se ei anna avata tiedostoa jota ei ole (eli nykyinen sivu on muuttujassa $page ja katsotaan sen arvoja muuttamalla löytyykö lisää tiedostoja). Muuten hyvä, mutta echo ei tulosta mitään.

Kiitos jo etukäteen :D

Re: PHP-ongelmat

Posted: Tue Jan 10, 2012 10:27 am
by valscion
Peltsi wrote:Keksiikö kukaan miksi echo ei suolla ulos mitään?
Huh kun on jotenkin kamalan näköistä koodia. Ei ole kaikkia lohkoja sisennetty, käytät isoja alkukirjaimia joissain iffeissä eikä kommentteja ole yhtäkään. Sen lisäksi vielä vertailet jokaisessa iffissä aivan turhaan onko jokin palautusarvo erisuuri kuin false. Ei sinun tarvitse sitä verrata, voit vain kirjoittaa

Code: Select all

if (is_file("not_exists")) { echo "Hei, maailma!"; } 
Noh, koitetaanpas silti saada selvää...

Code: Select all

for ($i = 0; $i < $viestimaara; $i++) {
   // ...koodia...
   echo "<p><b>Lähettäjä</b>: $nimi <p>";
   echo "<b>Aika</b>: " . date("d.m.Y H:i", $aika) . "<br>";
   echo "<br>$viesti<hr>";
} 
Ainakaan et tuossa kohtaa sulje kertaakaan <p>-tagia, vaan avaat niitä jokaista viestiä kohden kaksi kappaletta. Se ainakin aiheuttaa jotain ongelmia.

Code: Select all

if (glob($directory . "*.txt") != false)
$maarat = count(glob($directory . "*.txt"));
Tuo pätkä koodia on aivan turha, et tee sillä mitään. Ainakaan vielä. Jos meinaat tehdä jotain, niin tallenna ihmeessä glob($directory . "*.txt") talteen johonkin muuttujaan ensin ja sitten tee iffit ynnä muut. Säästyt turhalta glob-kutsulta.

Code: Select all

$viestit = file('System/Guestbook/'.$page.'.txt'); 
Tuossa kohtaa sinulla on hyvin vakava ongelma, sillä käyttäjä voi antaa vaarallista dataa $_GET["p"] kohtaan. Kannattaa pakottaa $page-muuttuja olemaan kokonaisluku:

Code: Select all

$page = (int) $_GET["p"]; 

Code: Select all

If (is_file ($directory.$edel.".txt") != false) {

If (is_file ($directory.$seur.".txt") != false) {

echo "<h3><a href='lomake.php?p=".$seur."'>Uudemmat viestit</a>---<a href='lomake.php?p=".$edel."'>Vanhemmat viestit</a></h3>";

}

} else {

If (is_file ($directory.$edel.".txt") != false)
echo "<h3>Uudemmat viestit---<a href='lomake.php?p=".$edel."'>Vanhemmat viestit</a></h3>";


If (is_file ($directory.$seur.".txt") != false)
echo "<h3><a href='lomake.php?p=".$seur."'>Uudemmat viestit</a>---Vanhemmat viestit</h3>";

} 
Voisit tuon pätkän saada PALJON siistimmin koodattua ja vähentää samojen juttujen uudelleen koodaamista jos vain miettisit tuon tarkasti.

Vinkkinä sellainen, että jos käytät PHP:n puolella merkkijonoissa kaksoinlainausmerkkejä, niin muuttujat muutetaan suoraan koodista oikein - eli sinun ei tarvitse aina pätkäistä merkkijonoa, kun haluat laittaa sinne muuttujan. Nämä esimerkit tulostavat samat merkkijonot:

Code: Select all

<?php
$muuttuja = 9001; // OVER NINE THOUSAAAAAAND!
echo "Muuttuja on $muuttuja";
echo "Muuttuja on ".$muuttuja;
echo "Muuttuja on {$muuttuja}";
echo "Muuttuja on 9001";
?>
EDIT:

Näköjään oletkin käyttänyt tuota vinkkiäni jo joissain kohdissa mutta toisissa et, vaikka voisit. Jos aiot erotella muuttujat erikseen merkkijonoista niin on parempi käyttää yksinkertaisia lainausmerkkejä ' koska ne ovat nopeampia ja estävät mahdollisten muuttujien livahtamisen merkkijonoon.


Re: PHP-ongelmat

Posted: Wed Jan 11, 2012 12:36 am
by Peltsi
VesQ wrote:*tekstiä*
Siistin (ja yritin korjata) koodin valikkokohtaa, valittaa ylimääräisestä { merkistä ensimmäisen if lauseen kohdalla:

Code: Select all

If (is_file ("System/Guestbook/$edel.txt") {
//Valittaa ylläolevasta rivistä

   If (is_file ("System/Guestbook/$seur.txt")) {
   echo "<h3><a href='lomake.php?p=$seur'>Uudemmat viestit</a>---<a href='lomake.php?p=$edel'>Vanhemmat viestit</a></h3>";

   } else {

   echo "<h3>Uudemmat viestit---<a href='lomake.php?p=$edel'>Vanhemmat viestit</a></h3>";

   }

} else {

echo "<h3><a href='lomake.php?p=$seur'>Uudemmat viestit</a>---Vanhemmat viestit</h3>";

}
Eikö php muka ymmärrä sisäkkäisitä if-lauseista jos käytetään else:ä, vai enkö sitten itse ymmärrä... :D

PS: sisennys oli viimeksi huonoa, kun koodailin sen puhelimella, ja sisentelyt sillä on suht "mukavaa"...

Re: PHP-ongelmat

Posted: Wed Jan 11, 2012 10:22 am
by valscion
Peltsi wrote:
VesQ wrote:*tekstiä*
Siistin (ja yritin korjata) koodin valikkokohtaa, valittaa ylimääräisestä { merkistä ensimmäisen if lauseen kohdalla:

Code: Select all

If (is_file ("System/Guestbook/$edel.txt") {
Ihmekkös kun valittaa kun sinulta puuttuu toinen sulkumerkki )

Re: PHP-ongelmat

Posted: Wed Jan 11, 2012 11:48 am
by Peltsi
VesQ wrote:
Peltsi wrote:
VesQ wrote:*tekstiä*
Siistin (ja yritin korjata) koodin valikkokohtaa, valittaa ylimääräisestä { merkistä ensimmäisen if lauseen kohdalla:

Code: Select all

If (is_file ("System/Guestbook/$edel.txt") {
Ihmekkös kun valittaa kun sinulta puuttuu toinen sulkumerkki )
Kiitos, tuota en tajunnut tarkastaakkaan, koitin etsiä virheitä vain lohkojen sitomisista (vai miksikä sitä { } merkkien laittelua oikein kutsutaan...). Nyt toimii :D

Re: PHP-ongelmat

Posted: Wed Jan 25, 2012 4:43 pm
by Feuer
Ongelma on sellainen, että pitäisi muuttaa ''kaksois-hipsujen sisässä olevista tekstinosista'' kaksoishipsut [ i] - tageiksi ja kolmoishipsujen ympäröimistä hipsut [ b]-tageiksi, seuraavan esimerkin mukaan:

''Hello World :)'' => Hello World :)
'''Hello World :)''' => Hello World :)
'''''Hello World :)''''' => Hello World :)

Tällä hetkellä olen toteuttanut tämän näin:

Code: Select all

                    $wikiItalic = "/''(\\[b\\])*(.+)(\\[\\/b\\])*''/";
                    $wikiBold = "/'''(.+)'''/";

                    $message = preg_replace($wikiBold, '[b]$1[/b]', $message);    //$message = teksti, jota muotoillaan
                    $message = preg_replace($wikiItalic, '[i]$1$2$3[/i]', $message);
 
Mutta, kuten voi päätellä siitä että kirjoitan tätä, toiminta on huono. Yksinkertaiset, yksinäiset hipsuilla kuorrutetut sanat menevät läpi ihan nätisti, mutta heti jos $message sisältää välilyönnin tai jotain muuta monimutkaista, tuo systeemi hajoaa. Miten tuo pitäisi toteuttaa?

Re: PHP-ongelmat

Posted: Wed Jan 25, 2012 5:30 pm
by Jare
Feuer wrote:Ongelma on sellainen, että pitäisi muuttaa ''kaksois-hipsujen sisässä olevista tekstinosista'' kaksoishipsut [ i] - tageiksi ja kolmoishipsujen ympäröimistä hipsut [ b]-tageiksi, seuraavan esimerkin mukaan:

...

Mutta, kuten voi päätellä siitä että kirjoitan tätä, toiminta on huono. Yksinkertaiset, yksinäiset hipsuilla kuorrutetut sanat menevät läpi ihan nätisti, mutta heti jos $message sisältää välilyönnin tai jotain muuta monimutkaista, tuo systeemi hajoaa. Miten tuo pitäisi toteuttaa?
En välttämättä ihan löytänyt bugaavaa kohtaa tuosta, mutta pari huomiota tuli mieleen. Toisaalta en tarkkaan tiedä, mitä tarkoiti sillä että "systeemi hajoaa". Ehkä tästä vastauksesta on jotain apua.

Code: Select all

$wikiItalic = "/''(\\[b\\])*(.+)(\\[\\/b\\])*''/";
[ b] ja [/ b] -tageja ei mielestäni tarvitse huomioida tässä kohtaa. .+ huomioi ne joka tapauksessa. Jos patternin saa yksinkertaisemmaksi, on helpompi nähdä siinä mahdollisesti olevat virheet.

Toinen juttu on se, että .+ on ahmatti joka syö niin paljon merkkejä kuin vain voi. Esimerkiksi merkkijonosta ''teksti1'' asd ''teksti2'' tuo $wikiBold-pattern nappaa molemmat tekstit, eli tällaisen pätkän: teksti1'' asd ''teksti2, koska pisteelle kelpaa myös heittomerkit. Vaihda .+:n tilalle .+? jolloin se tyytyy lyhimpään mahdolliseen merkkijonoon.

Testaamatta en kuitenkaan osaa sanoa, onko tuossa muuta parannettavaa. RegExpit on kuitenkin rakettitiedettä. :D

Re: PHP-ongelmat

Posted: Wed Jan 25, 2012 7:57 pm
by Feuer
mm. välilyönti aiheutti sen, ettei teksti enää mätsännyt kumpaankaan patterniin ja tuota koodia räpeltäessä sain ulos myös tällaista merkkausta[/ i][/ u], joka ilmeisesti onkin phpbb:n mielestä ihan hyvää merkkausta. Jännä.


RegExpit on kuitenkin rakettitiedettä. :D

On! Mutta kiinnostavaa sellaista, niin kauan kun pysyy preg_ - funktioiden ajatuksenkulussa perässä :P

EDIT:

Jaha, kaikki muut testitapaukset parseutuivatkin ihan kauniisti tuon koodin läpi, paitsi yksi.

''Jumankauta O.o sehän toimii'', elämä on '''hassumpaa ''boldattuna''''' kääntyi muotoon
Jumankauta O.o sehän toimii'', elämä on hassumpaa ''boldattuna[/ i][/ b]
vaikka selvästi ensimmäisen kursiivin pitäisi päättyä sanaan "toimii" ja sanan "boldattuna" pitäisi olla oma kursiivinsa.


Re: PHP-ongelmat

Posted: Tue Apr 17, 2012 9:44 pm
by Peltsi
Moro.

Ajattelin tutustua tuohon MySQL:ään. Ongelma on se, että yritän tarkastaa taulusta että onko siellä esim. käyttäjä "a". Ja jos käyttäjä "a" löytyy niin jotain jne...
Kaikenlaisia koodiesimerkkejä tuon käyttäjän tarkastamiseen kokeiltu, mikään niisä ei jostain syystä toimi.
Käytän tietokantaa PDO:lla.

Toivottavasti oli tarpeeksi tietoa ongelmasta ja joku keksii siihen ratkaisunkin.

Re: PHP-ongelmat

Posted: Tue Apr 17, 2012 10:06 pm
by Sly_Jack0
Psudokoodia seuraa:

Code: Select all

SELECT * FROM users

foreach tulokset {
     Jos käyttäjänimi == 'a' {
          löytyi = true
          break
    }
}

Jos löytyi = true, niin jtn....
En usko, että on paras tapa, mutta ensimmäinen, jonka keksin.

Re: PHP-ongelmat

Posted: Tue Apr 17, 2012 10:32 pm
by Herra Siili
Pseudolla jatketaan.

Code: Select all

SELECT * FROM users WHERE username =`a`

Jos löytyi yksi rivi, käyttäjä on olemassa.
PDO tekee koodista hieman erilaista, mutta periaate on sama.

Re: PHP-ongelmat

Posted: Tue Apr 17, 2012 10:38 pm
by Peltsi
Sly_Jack0 wrote:Psudokoodia seuraa:

Code: Select all

SELECT * FROM users

foreach tulokset {
     Jos käyttäjänimi == 'a' {
          löytyi = true
          break
    }
}

Jos löytyi = true, niin jtn....
En usko, että on paras tapa, mutta ensimmäinen, jonka keksin.
Voitko selventää tuota?

Code: Select all

$kysely = $yhteys->prepare("SELECT * FROM allusers");

$kysely->execute();

foreach $kysely {
     if (kayttaja == '$k') {
          echo "löytyi";
          break
    }
}
Koitin ymmärtää tuota, mutta eihän siitä mitään tullut, no tulos on tuossa... Ja tuo $k on haettava käyttäjä, siis.
Eihän se tietenkään toiminut. Mistä tuo esimerkkisi muuttuja "tulokset" saa datansa?

EDIT:

Herra Siili wrote:Pseudolla jatketaan.

Code: Select all

SELECT * FROM users WHERE username =`a`

Jos löytyi yksi rivi, käyttäjä on olemassa.
PDO tekee koodista hieman erilaista, mutta periaate on sama.

Joo, ongelma onkin vain se, että miten tarkastan onko enemmän kuin 0 (eli saanko kyselyn tuloksen johonkin muuttujaan, josta tarkastan onko suurempi kuin 0, tätä on kokeiltu, mutta epäonnistunut). Johan tuntee ittensä hölmöksi :D[/edit]
EDIT:

Ongelma ratkaistu, kiitos kaikille auttaneille!


Re: PHP-ongelmat

Posted: Wed Apr 18, 2012 4:44 pm
by Pettis
Toivottavasti teit sen ilman tuota for-looppia. Sen kanssa se on ehkä yksi pöljimmistä näkemistäni ratkaisuista :)

Re: PHP-ongelmat

Posted: Wed Apr 25, 2012 10:43 am
by Ruuttu
Mun pääni ei tässä vaiheessa enää toimi, mutta ehkä joku teistä osaa auttaa. Olen kehittänyt yksinkertaisen piirrä & arvaa -pelin, jossa yksi pelaajista piirtää ja muut yrittävät tietyn aikarajan sisällä arvata, mistä sanasta on kysymys. Clientit ottavat yhteyttä PHP-palvelimeen sekunnin välein päivittääkseen chättiä ja tietysti sen piirroksen. Pelierät, pelaajat, sekä arvattavat sanat tallennetaan mySQL-tietokantaan. Ongelma on tämä: Jokainen pelierä saa kestää korkeintaan 120 sekuntia, eli kun time() - erän_alkamisaika >= 120, erät-tauluun lisätään uusi rivi, ja näin alkaa uusi erä. Koska pelaajia on useita, aina silloin tällöin käy niin että palvelimelle tulee kaksi pyyntöä täysin samaan aikaan => erä todetaan päättyneeksi monta kertaa, ja uusia eriä luodaan useita. Tästä seuraa lukuisia ongelmia. Olen paininut tämän asian kanssa jo pitemmän aikaa, enkä tiedä enää lainkaan onko sitä edes mahdollista korjata. Googlesta en onnistunut löytämään mitään hyödyllistä.

Code: Select all

$sql = mysql_query('SELECT * FROM erät ORDER BY erä_id DESC LIMIT 1'); /* haetaan tuorein erä */
$current_game = mysql_fetch_assoc($sql); /* isketään se muuttujaan */
				
if ($time - $current_game['starttime'] > 120) { /* lasketaan onko erä kulunut loppuun vertaamalla sen alkamisajankohtaa nykyhetkeen */
	/* tässä välissä on useita kyselyjä käsittävä koodinpätkä,
	jolla valikoidaan kenelle annetaan seuraavaksi piirtovuoro,
	ja minkä sanan hän joutuu piirtämään */
	$sql = mysql_query('INSERT INTO erät (artist, starttime, finishtime, winner)
	VALUES ('.$next_artist.','.$time.',0,0)');
}
Erä siis luodaan kahdesti koska yksittäinen PHP-sessio voi ainoastaan tarkistaa onko erä jo luotu - mutta ei sitä, onko jokin toinen PHP-sessio juuri luomassa sitä.
Peliä voi pelata (tästä bugista huolimatta) osoitteessa http://datikset.dalocker.net/doodle/

Re: PHP-ongelmat

Posted: Wed Apr 25, 2012 11:40 am
by valscion
Ruuttu wrote:Mun pääni ei tässä vaiheessa enää toimi, mutta ehkä joku teistä osaa auttaa.
Sanoisin että voisit selvitä ongelmasta, jos teet aikatarkistuksen myös MySQL:n puolella ja yhdistät siihen tarkistuksen, onko jokin toinen rivi jo luotu.

SQL-query voisi näyttää jotenkin tältä:

Code: Select all

SELECT TIMESTAMPDIFF(SECOND, `lastgame_started`, NOW()) As diff, `nextId` FROM `mytable` 
  WHERE diff >= 120 AND 
    (SELECT TIMESTAMPDIFF(SECOND, `starttime`, NOW()) FROM `erät` ORDER BY `id` LIMIT 1) >= 120
  LIMIT 1
Tuosta ottaisit siis talteen 'nextId' kolumnin sisältämän arvon. Sitten INSERTin tekisit käyttämällä jotenkin tämäntapaista SQL:ää:

Code: Select all

INSERT IGNORE INTO `erät` (id, artist, starttime, finishtime, winner) VALUES (<tähän edellinen nextId arvo>, ....)
Kunhan id kenttä olisi määritelty uniikiksi (UNIQUE) niin INSERTin pitäisi olla laittamatta uutta riviä tauluun, koska siellä on jo kyseisellä ID:llä uusi peli tulossa.

Tuo idea tuossa minun selectissäni olisi siis se, että sinulla olisi erillinen taulu (esimerkissä viitattuna nimellä mytable) jossa olisi aina yksi rivi. Taulussa olisi sarakkeet lastgame_started ja nextId, jotka kertoisivat milloin viimeisin peli on alkanut ja mikä olisi seuraavan pelin ID. Sitten SELECT hakisi tiedon että milloin edellinen peli on aloitettu, vertaisi sitä nykyhetkeen sekunneissa ja tarkistaa että ero on ainakin 120 sekuntia. Sitten tehtäisiin toinen tarkistus WHERE-lausekkeen sisältä, joka hakisi erät-taulusta viimeisimmän luodun pelin aloitusajan ja tarkistaisi että myös se on ylittänyt 120 sekuntia.

PHP:n puolella tekisit sitten tarkistuksen, että palauttiko tuo SELECT yhtään riviä. Jos ei palauttanut, aikaa ei ole vielä mennyt tarpeeksi tai mahdollisesti uusi peli on jo luotu (eli tekisit uuden queryn ja tarkistaisit onko uusi peli jo olemassa). Jos tuo palautti yhden rivin, niin sitten PHP:n puolella teet tuon INSERT-kutsun. Jos se epäonnistuu, niin mysql_num_rows() palauttaa nollan eli tiedon siitä ettei yhtään riviä lisätty. Jos mysql_num_rows() palauttaa yksi, niin uusi peli on luotu onnistuneesti.

Re: PHP-ongelmat

Posted: Tue May 01, 2012 2:18 am
by Konstaduck
Nettisivuja taas vaihteeksi kyhäämässä, seuraavanlainen ongelma tuli vastaan:

Meillä on html:n puolella lomake, joka lähettää tietonsa login.php:eelle. Kun nimi ja salasasana on kirjoitettu, painetaan sitä kirjaudu nappia. Mutta login.php ei toimi toivotulla tavalla, ja selain avaa sen kuin minkätahansa tekstitiedoston. Miten saada se toimimaan sillein, että se vain tarkistaisi, menikö oikein, ja selaimen ruudulla pysyisi kokoajan index.html?

kosketusnäytöllä on sitten vaikeaa kirjoittaa...

Re: PHP-ongelmat

Posted: Tue May 01, 2012 10:22 am
by Feuer
Konstaduck wrote: Mutta login.php ei toimi toivotulla tavalla, ja selain avaa sen kuin minkätahansa tekstitiedoston.
Eli miten? Tulostaa php:n syötteen? Tulostaa php-koodin?
Konstaduck wrote: Miten saada se toimimaan sillein, että se vain tarkistaisi, menikö oikein, ja selaimen ruudulla pysyisi kokoajan index.html?
AJAX? Kannattaa vilkuilla jQueryä. Tai sitten login.php:hen rivi, olettaen että ymmärsin oikein

Code: Select all

Header("Location: ".$_SERVER['HTTP_REFERER']);
 

Re: PHP-ongelmat

Posted: Tue May 01, 2012 11:38 am
by Viltzu
Konstaduck wrote:Nettisivuja taas vaihteeksi kyhäämässä, seuraavanlainen ongelma tuli vastaan:

Meillä on html:n puolella lomake, joka lähettää tietonsa login.php:eelle. Kun nimi ja salasasana on kirjoitettu, painetaan sitä kirjaudu nappia. Mutta login.php ei toimi toivotulla tavalla, ja selain avaa sen kuin minkätahansa tekstitiedoston.
Olethan varma, että se on .php? Jotkut HTML editorit tuppaavat heittämään aina .html päätteen. Tarkista ettei tiedosto ole sittenkin login.php.html. (Voit vaikka mennä johonkin kansioon ja painaa Järjestä -> Kansion ja haun asetukset -> välilehti "näytä" -> ruksi pois kohdasta "piilota tunnettujen tiedostotyyppien tunnisteet")

Re: PHP-ongelmat

Posted: Tue May 01, 2012 4:52 pm
by Konstaduck
Viltzu wrote:
Konstaduck wrote:Nettisivuja taas vaihteeksi kyhäämässä, seuraavanlainen ongelma tuli vastaan:

Meillä on html:n puolella lomake, joka lähettää tietonsa login.php:eelle. Kun nimi ja salasasana on kirjoitettu, painetaan sitä kirjaudu nappia. Mutta login.php ei toimi toivotulla tavalla, ja selain avaa sen kuin minkätahansa tekstitiedoston.
Olethan varma, että se on .php? Jotkut HTML editorit tuppaavat heittämään aina .html päätteen. Tarkista ettei tiedosto ole sittenkin login.php.html. (Voit vaikka mennä johonkin kansioon ja painaa Järjestä -> Kansion ja haun asetukset -> välilehti "näytä" -> ruksi pois kohdasta "piilota tunnettujen tiedostotyyppien tunnisteet")
Ei, kyllä se ihan .php tiedosto on. Selain siis avaa sen samaan tyyliin, kuin katsoisi jonkun sivun lähdekoodia. Ja feuer, tuo koodipätkänen ei hyödyttänyt mitään :o

Re: PHP-ongelmat

Posted: Tue May 01, 2012 5:50 pm
by TheFish
Konstaduck wrote:
Viltzu wrote:
Konstaduck wrote:Nettisivuja taas vaihteeksi kyhäämässä, seuraavanlainen ongelma tuli vastaan:

Meillä on html:n puolella lomake, joka lähettää tietonsa login.php:eelle. Kun nimi ja salasasana on kirjoitettu, painetaan sitä kirjaudu nappia. Mutta login.php ei toimi toivotulla tavalla, ja selain avaa sen kuin minkätahansa tekstitiedoston.
Olethan varma, että se on .php? Jotkut HTML editorit tuppaavat heittämään aina .html päätteen. Tarkista ettei tiedosto ole sittenkin login.php.html. (Voit vaikka mennä johonkin kansioon ja painaa Järjestä -> Kansion ja haun asetukset -> välilehti "näytä" -> ruksi pois kohdasta "piilota tunnettujen tiedostotyyppien tunnisteet")
Ei, kyllä se ihan .php tiedosto on. Selain siis avaa sen samaan tyyliin, kuin katsoisi jonkun sivun lähdekoodia. Ja feuer, tuo koodipätkänen ei hyödyttänyt mitään :o
Onhan tiedostossa varmastikkin php-tagit (siis "<?php" ja "?>")? Palvelimen lokitiedostoista kannattaa myös katsoa, sanotaanko siellä mitään asiaan liittyvää.