Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Vika PHP:ssä vai HTML:ssä?

Sivun loppuun

ankzilla [12.11.2008 16:17:55]

#

Hei, olen tehnyt rekisteröitymissysteemin Ankzilla.com -sivustolle.

Ongelmana ilmeni vasta vähän aikaa sitten, eli tuo lomake ei lähetä tuota rekisteröintitekstiä sähköpostiini, joka on ankz@ankzilla.com

Laitoin sivut tekstimuotoon, että jollakin teistä olisi ehkä helpompaa ratkaista ongelmani.
Linkit:
http://ankzilla.com/projects/own/reg.txt <== HTML
http://ankzilla.com/projects/own/rekinfo.txt <== PHP

Eli mikä pitäisi muuttaa, ja kummassa tiedostossa että "Lähetä"-nappulan klikkauksen jälkeen se lähettäisi Nimimerkki, Salasana, Sähköpostisoite, Kuva ja Kotisivu -kodat sähköpostiini osoitteeseen ankz@ankzilla.com
(Tämä on se minun ammattimainen rekisteröitymissysteemi. Kirjautumisen koodaan myöhemmin, ellei ongelmia ilmaannu. Tai laitan jonkun toisen asialle.) ;)

Eli voisiko joku kertoa että kummassa tiedostossa (PHP vai HTML) ongelma piilee, ja että miten se voidaan korjata.

Huom:
HTML-tiedostossa olevat "PHP-include" -koodit ovat ulkoasua, joten älkää välittäkö niistä!!!

Teuro [12.11.2008 17:07:16]

#

Minkä muutoksen jälkeen lähetys ei ole toiminut? Oletko kokeillut toimiiko mail-funktio ollenkaan palvelimella? Poista @-merkki funktion edestä, jotta mahdollinen varoitusteksti tulee näkyville. Poista väliaikaisesti siirtyminen kiitossivulle, ja tee muutama debugtulostus muuttujien arvoista, jotta näet että ne ovat oikein.

Lomakkeen tiedot kannattaa ehdottomasti tarkastaa muuten kuin pituuden perusteella, koska esimerkiksi email-kenttään voi tunkea minkä tahan yli 5-merkkiä pitkän tekstijonon ja se on scriptille ihan ok.

ankzilla [12.11.2008 17:58:09]

#

Hei... Hoksasin erittäin kummallisen asian: Rekisteröitymiset tulevat nykyään itsestään ilmestyneeseen tiedostoon: dead.lettet <== Mitä meinaa?

Mutta kun hoksasin, että rekisteröitymiset listautuu tuonne aikajärjestyksessä, en tarvitsekkaan mitään sähköpostia! :D

Eli tämän voi varmaan jo poistaa...

Ja se hyvä puoli dead.letterissä on, että sillä ei ole päätettä: Mikään skripti ei toimi. :)

Mutta kiitos nopeasta vastauksesta, Teuro!

Edit: Toinen ongelma. Vaikka se tallentaakin ne dead.letteriin, niin kun rekisteröitymisnappulaa klikkaa, se raksuttaa tolkuttoman kauan!

Double-edit: Mail-funktio toimii kyllä. Hosti on JouluServer.

Triple-edit: Poistin tuon kiitossivu-jutun. Sivu raksuttaa silti odottamattoman kauan, ja parin minuutin jälkeen dead.letteriin ilmestyy uusi rekisteröintiteksti. Muuten tuo olisi ihana, ja valmis juttu, mutta kun kukaan ei viitsi odotella tuota paria minuuttia.

Teuro [12.11.2008 18:15:27]

#

Tervehdys vielä jos lomakkeiden kanssa pelailu kiinnostaa enemmänkin, niin pastesin tänne oman Clomake-luokan, joka pyrkii piilottamaan epäoleellisen roinan pois varsinaiselta sivulta.

Toivoisin myös paremmin osaavien katsovan tuota, jos siinä olisi vielä parantamisen varaa. Alle laitan vielä pienen esimerkin luokan käytöstä.

<html>
<head>
<title>Testaus</title>
<link type="text/css" href="tyylit/style.css" rel="StyleSheet" />
</head>
<body>

<?php
/* Ladataan käyttöön lomakeluokka */
require("luokat/Clomake.php");

/* Luodaan uusi lomake */
$lomake1 = new Clomake();

/* Ladataan oliot taulukkoon */

$oliot[] = new Ctext("etunimi", true, "", "anna etunimi", 5);
$oliot[] = new Ctext("sukunimi", true, "", "anna sukunimi");
$oliot[] = new Ctext("email", false, "", "anna sposti");
$oliot[] = new Ctext("puhelin", false, "", "anna puhelinnumero");
$oliot[] = new Ctext("postinumero", false	, "", "anna postinumero");
$oliot[] = new Ctext("toimipaikka", false, "", "anna postitoimipaikka");

/* Sijoitetaan lomakkeelle kentät */
$lomake1 -> asetaElementit($oliot);

/* Tarkastellaan josko ollaan lähetetty dataa */

if(isset($_POST['etunimi'])){
 	/* Käydään läpi oliolista */
	foreach($oliot AS $nimi){
	 	/* Jokaiselle oliolle annetaan arvo */
		$nimi -> asetaArvo($_POST[$nimi -> annaNimi()]);

	 	/* Mikäli kenttä on merkitty pakolliseksi */
	 	if($nimi -> annaVaaditaan() || $nimi -> tarkastaTyhja()){
	 	 	/* Ja mikäli joko standardi / speciaali funktio palauttaa true */
			if( $nimi -> tarkista($nimi -> annaNimi() )){
			 	/* Tulostetaan, että kenttä on ok */
			}
		}
	}
}
 	/* Lopuksi piirretään lomake, joko tyhjänä / valmilla tiedoilla */
	$lomake1 -> piirraLomake( "index.php", "post" );
?>

</body>
</html>

ankzilla [12.11.2008 18:30:34]

#

Kiitos koodeista, mutta huonosta näöstäni johtuen en löytänyt kohtaa: Mihin pitää laittaa e-mail, johon tiedot lähetetään?

Teuro [12.11.2008 18:38:55]

#

Tuon joudut ikävä kyllä koodaamaan itse tuota en ole tuohon luokkaan ympännyt, koska se ei oikeastaan minusta kuulu luokan toimintaan mitenkään. Tosin sen on varsin helppoa.

ankzilla [12.11.2008 18:50:26]

#

Hei! Nyt ei enään mitään: JouluServerillä on BNC:lle palvelunestohyökkäys, ja samalla kun hyökkäys alkoi ei ole mikään toiminut!

Eli kopioin MVnetin palautejutun alkuperäiseen muotoon (vaihdoin vain sähköpostin, ja tallennukseen "false", koska en halua tallentaa niitä erilliseen tiedostoon).

Eli näköjään poistin juuri turhaan kaiken, koska vika on serverissä. (Kyllä se lomake ennen toimi)

Blaze [12.11.2008 18:59:26]

#

Unix-MTA:eilla on tapana heittää postit, joita ei voida toimittaa eteenpäin, tuollaseen dead.letter-tiedostoon.

Mää epäilisin väärin konffattua MTA:ta (sendmail, exim, mitä nyt käyttävätkin).

ankzilla [12.11.2008 20:35:44]

#

Blaze kirjoitti:

Unix-MTA:eilla on tapana heittää postit, joita ei voida toimittaa eteenpäin, tuollaseen dead.letter-tiedostoon.

Mää epäilisin väärin konffattua MTA:ta (sendmail, exim, mitä nyt käyttävätkin).

Kuten sanoin: JouluServerin BNC-katkos vaikuttaa johonkin.

Mutta periaatteessa tuo on mahdotonta, sillä kokeilin alupetäistä MV:netin palaute-juttua joka on kuitenkin ennen toiminut.

ankzilla [15.11.2008 17:49:03]

#

Elikkäs ei enään mitään... Sivusto on jo valmis! Kaikki rekisteröitymään: http://ankzilla.com

Kirjautuneena voit kirjoittaa lumilautojen ja salibandymailojen arvosteluita!

Tulevaisuudessa tuun tekemään ton käyttäjälistan...
Lisäksi teen semmosen, että voi päivittää profiilia.

Päärynämies [15.11.2008 19:58:12]

#

Kävimpä katsomassa tuota sivustoa, tuosta varmaan sopii mielipiteensä kertoa, kerta sitä täällä mainostat. Toivottavasti osaat arvostaa palautetta.

En oikein vakuuttunut näkemästäni. Sivuston ilmeisesti on tarkoitus tarjota noita mailojen ja lautojen arvosteluita, niitä vain ei ollut siellä. Itse olisin valmiille sivustolle laittanut edes muutaman arvostelun. Jotain musiikki- ja mopo-osiotakin oli, mutta niissäkään ei mitään ollut.

Lisäksi sivustolla on tietysti mukana myös keskustelufoorumi. Aihealueet olivat varsin mielenkiintoiset: sivusto, musiikki, lumilautailu ja koodaus. Liekkö tarkoteittu sitten yhdistämään koodaavat lumilautailijat.

Paljon ois muutakin sanottavaa, mutta taidan olla hiljaa niiden osalta. Mikäs tuossa, jos kävijöitä riittää.

reca [16.11.2008 02:01:22]

#

Yhden asian lisäisin Päärynämiehen postaukseen...

Käsittele ne kuvat valmiiksi (=pakkaa pienempään kokoon). Minä en ainakaan jäänyt odottelemaan isojen kuvien latautumista. Koen sen erittäin ärsyttäväksi :/.

Metabolix [16.11.2008 14:06:07]

#

Lisäisin vielä toisen asian, nimittäin validaattorin antamat virheet.

temu92 [16.11.2008 16:22:48]

#

Joo ja täältäkin vähä palautetta. Rekisteröitymisessä toi ihmeen botinesto kuva on ihan surkee. Se ei vaihdu eikä se ole edes tarpeen sekava ettei sitä saisi jollain ihan ilmaisellakin softalla selvitettyä.

Lebe80 [17.11.2008 10:55:10]

#

oman captchan tilalla kannattaa käyttää valmista captchaa, esim. reCaptcha:
http://recaptcha.net/whyrecaptcha.html


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta