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?
Kuten värityskin kertoo niin tuolta puuttuu lainausmerkki.
Jaa että mistä puuttuu heittomerkki?
Vähän yritystä... Kato mistä kohtaa toi väritys alkaa sekoilemaan :)
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";
ei heittomerkki, vaan lainausmerkki.
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.
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.
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?
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?
Aihe on jo aika vanha, joten et voi enää vastata siihen.