Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Hakemuksen lähetys sähköpostiin ei onnistu

Sivun loppuun

Big Boss [13.04.2008 21:41:33]

#

Yritin muuttaa palaute sivua että siitä tulisi hakemus ja että se lähtisi minun sähköpostiini.
Yksi tyyppi neuvoi mua....
Mutta silti tämä ei toimi, mikä voi olla vikana?

<?php
/*  GLPalaute by GLWeb  - http://www.glweb.org
HUOM
ulkoasutiedoston iha ylimpänä tulee olla alla oleva koodi, muuten skripti ei toimi oikein tai ei ollenkaan

<?php
ob_start();
session_start();
?>

JA ulkoasutiedoston ihan alimpana tulee olla alla oleva
<?php ob_end_flush() ; ?>*/
/////////////// Asetukset ///////////////////
$omaoso = "lintula.teemu@gmail.com"; // Sähköpostiosoite, johon palaute tulee
$otsikko = "TeemunServer Hakemus"; // Palautteen otsikko
$koti = "http://teemunserver.dy.fi/"; // Palautteen lähetyksen jälkeinen poistumissivu
$flood = "1"; // Floodaussuoja-aika sekunneissa
//////////////////// Palauteluokat / Lisää uusi rivi mallilla  $pkoskee[] = "NIMI";  //////////////////////
$pkoskee[] = "Sivutila";
$pkoskee[] = "TeamSpeak 2 Kanava";
$pkoskee[] = "CS 1.6 Server (Sis.Amx Mod X)";
$pkoskee[] = "Muu ,mikä?";
////////////////////////////////////////////
if(!$_GET['act']){
$tarkastus = rand(1,5);
session_register("tark");
$_SESSION['tark'] = $tarkastus;
    echo'
    <h3>Hakemus</h3>
    <form method="post" action="'.$_SERVER['PHP_SELF'].'?act=laheta" style="margin:0;">
    Nimi*<br>
    <input type="text" name="nimi"><br>
    Sähköposti*<br>
    <input type="text" size="50" name="email"><br>
    Sähköposti uudelleen*<br>
    <input type="text" size="50" name="remail"><br>
    Tunnus*<br>
    <input type="text" size="50" name="tunnus"><br>
    Ikä*<br>
    <input type="text" size="5" name="ika"><br>
    Hakemus Koskee*<br>
    <select name="koskee">
    <option value="">-- Valitse --';
    foreach($pkoskee as $lomake){
        $a = explode(":",$lomake);
        echo'<option value="'.$a[0].'">'.$a[0].'';
    }
    echo'</select><br>
    hakemus*<br>
    <textarea name="palaute" cols="50" rows="10"></textarea><br>
	<input type="checkbox" name="hvast"> Haluan vastauksen<br><br>
	Ruksaa suluissa oleva<br>';

	for($i = 0;$i < 5;$i++){
		$value = $i+1;
		if($_SESSION['tark'] == $value){
			echo'(<input type="radio" name="check" value="'.$value.'">)';
		} else {
			echo'<input type="radio" name="check" value="'.$value.'">';
		}
	}
    echo'
	<br>
	<input type="submit" name="tark" value="Lähetä"><br><br>
    * = Pakollinen kenttä
    </form>
	<small>GLPalaute by <a href="http://www.glweb.org">GLWeb</a></small>';
}
if($_GET['act'] == "laheta"){
	$t = $_SESSION['tark'];
	if(isset($_POST['check']) and $_POST['check'] == $t){
		if(isset($_POST['tark'])){
			if(!trim($_POST['nimi']) or !trim($_POST['email']) or !trim($_POST['koskee']) or !trim($_POST['palaute'])){
				session_unset("tark");
				exit("Jokin pakollisista kentistä jäi täyttämättä. <a href=\"javascript:history.go(-1)\">Takaisin</a>");
			}
			$nimi = $_POST['nimi'];
			$email = $_POST['email'];
			$koskee = $_POST['koskee'];
			$palaute = $_POST['palaute'];
			if(isset($_POST['hvast'])){
				$hvast = "Haluaa vastauksen";
			}else {
				$hvast = "Ei halua vastausta";
			}
			if(isset($_COOKIE['palflood'])) exit("Floodisuoja. Ole hyvä ja odota vähintään 1 tunti <a href=\"javascript:history.go(-1)\">Takaisin</a>");
			$palaute = stripslashes($palaute);
			$palaute = str_replace("<br>","",$palaute);

			$to = "$omaoso";
			$ots = "$otsikko";
			$mess =
	"
	Hakijan nimi: $nimi
	Hänen sähköposti: $email ja $remail
	Tunnus jonka $nimi haluaa: $tunnus
	Hakemus koskee: $koskee
	$nimi ikä: $ika
	Hänen hakemus:
	------------------------------------------------------------------
	$hakemus
	------------------------------------------------------------------
	Haluaako $nimi vastauksen: $hvast
	";
			$ken = "from: $nimi<$email>\r\n";

//MAILERI MESSAGE4 ja MESSAGE OVAT VIESTIT JOTKA LÄHETETÄÄN
// MUISTA UPPIA MYÖS KAKS MUUTA TIEDOSTOA

$message4 = "html muodossa lähetettävä viesti";
$message = "txt muodossa lähetettävä viesti;


		require("class.phpmailer.php");

$mail = new PHPMailer();


$mail->IsSMTP();                                   // send via SMTP
$mail->Host     = "mail.inet.fi"; // SMTP servers
$mail->SMTPAuth = false;     // turn on SMTP authentication ei saa muuttaa
$mail->Username = "";  // SMTP username ei saa muuttaa
$mail->Password = ""; // SMTP password ei saa muuttaa

$mail->From     = "$to";  // HUOMAA NÄMÄ
$mail->FromName = "Teemun Server Hakemus";
$mail->AddAddress("$to");  // huomaa $posti = vastaanottajan osoite ja $nimi vastaanottajan nimi
$mail->AddReplyTo("lintula.teemu@gmail.com","Vastaus Teemu Lintula");  // HUOMAA NÄMÄ

$mail->WordWrap = 50;                              // set word wrap

$mail->IsHTML(true);                               // send as HTML
//OLI TRUE
$mail->Subject  =  "$ots";
$mail->Body     =  "$mess";  //hmlt viesti
$mail->AltBody  =  "";  // txt viesti

if(!$mail->Send())
{
   echo "Message was not sent <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;




			setcookie("palflood","jee",time()+$flood);
			session_unset("tark");
			echo'<h3>Hakemus onnistuneesti lähetetty</h3>
			<a href="'.$koti.'">Poistu</a>';
		}
	} else {
		session_unset("tark");
		echo'Hakemuksen lähetys epäonnistui, koska et ruksannut oikeaa ruudukkoa<br><br>
		<a href="'.$koti.'">Poistu</a>
		';
	}
}
ob_end_flush();
?>

Mitä tossa pitäis korjata?

tsuriga [13.04.2008 22:04:54]

#

Kuten värityskin kertoo niin tuolta puuttuu lainausmerkki.

Big Boss [13.04.2008 22:23:10]

#

Jaa että mistä puuttuu heittomerkki?

ajv [13.04.2008 22:26:01]

#

Vähän yritystä... Kato mistä kohtaa toi väritys alkaa sekoilemaan :)

peg [13.04.2008 22:30:33]

#

Tänään rekisteröityneelle käyttäjälle, Tsuriga tarkoittanee tätä riviä.

$message = "txt muodossa lähetettävä viesti;

muotoon

$message = "txt muodossa lähetettävä viesti";

T.M. [13.04.2008 22:31:17]

#

ei heittomerkki, vaan lainausmerkki.

Teuro [14.04.2008 14:47:21]

#

Ensimmäinen kommentointi olisi ehkä syytä sulkea ennen session_start() funktiota. Samalla muistelen, että tuon funktion tulisi olla ennen kaikkea muuta. Ehkä sulla on tuo kohta jo korjattu, mutta kunhan sanon vaan.

GimPeltzi [14.04.2008 15:38:20]

#

Teuro kirjoitti:

Ensimmäinen kommentointi olisi ehkä syytä sulkea ennen session_start() funktiota. Samalla muistelen, että tuon funktion tulisi olla ennen kaikkea muuta. Ehkä sulla on tuo kohta jo korjattu, mutta kunhan sanon vaan.

Kyse on siitä, että ko. funktio lähettää HTTP headerin, eikä sellaisia saa lähettää jos itse sivun tulostus on jo aloitettu. Näin ollen riittää, että sitä ennen ei selaimeen siirretä sivusta merkkiäkään.

Tässä koodissa ei moista näin nopealla vilkaisulla näyttäisi tapahtuvan.

Big Boss [14.04.2008 15:42:58]

#

Kiitokset avusta, olen aloittelija
Ja nyt tuo koko hakemus ei näy edes sivulla, mikä voi olla vikana?
Sekä siellä ei toimi tuo Mail juttu...Sen takia siinä on toi tommonen yks oudompi osa, olisiko se sen takia ettei se toimi?

Big Boss [14.04.2008 16:40:14]

#

GimPeltzi kirjoitti:

Teuro kirjoitti:

Ensimmäinen kommentointi olisi ehkä syytä sulkea ennen session_start() funktiota. Samalla muistelen, että tuon funktion tulisi olla ennen kaikkea muuta. Ehkä sulla on tuo kohta jo korjattu, mutta kunhan sanon vaan.

Kyse on siitä, että ko. funktio lähettää HTTP headerin, eikä sellaisia saa lähettää jos itse sivun tulostus on jo aloitettu. Näin ollen riittää, että sitä ennen ei selaimeen siirretä sivusta merkkiäkään.

Tässä koodissa ei moista näin nopealla vilkaisulla näyttäisi tapahtuvan.

No miten sen vois saada toimimaan?
Vai onko mahdollista tehdä sivu jonne mennään niin ne hakemukset lukee siellä?
Tai hallintapaneelin tapainen?


Sivun alkuun

Vastaus

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

Tietoa sivustosta