odesílání formuláře :(

9 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Nějak mi to nejde. Vždy když to chci odeslat tak to nahlásí tyto chyby -- Warning: main(): open_basedir restriction in effect. File(/3w/mysteria.cz/h/inc/functions.php) is not within the allowed path. (from /3w/mysteria.cz/h/heroes3) in /3w/mysteria.cz/h/heroes3/sendform.php on line 23 Warning: main(../inc/functions.php): failed to open stream: Operation not permitted in /3w/mysteria.cz/h/heroes3/sendform.php on line 23 Fatal error: main(): Failed opening required '../inc/functions.php' (include_path='.:/usr/local/lib/php') in /3w/mysteria.cz/h/heroes3/sendform.php on line 23 --
  2. File(/3w/mysteria.cz/h/inc/functions.php) is not within the allowed path Máš špatně cestu. Mělo by to být nějak takto: /3w/mysteria.cz/h/heroes3/inc/functions.php Jinak by bývalo dobré ukázat, co je na tom inkriminovaném řádku 23 a pár řádků před a po.
  3. <? // ------------------------------------------ // -- Script pro odeslání formuláře mailem -- // // ------------------------------------------ /* Povinné parametry: $komu ... adresa příjemce $email ... adresa odesílatele Nepovinné parametry: $predmet ... předmět mailu $nexturl ... stránka s poděkováním $backurl ... adresa stránky pro návrat $html ... Y/N - odeslat ve formátu HTML $soubor ... příloha mailu (pouze pro HTML formát) $@? ... povinné položky pro odeslání v mailu začínají znakem @ $#? ... nepovinné položky pro odeslání v mailu začínají znakem # */ require("/3w/mysteria.cz/h/heroes3/inc/functions.php"); if ($html == "Y") include("../inc/class.html.mime.mail.inc"); if(count($_POST) > 0) { // kontrola, zda jsou vyplněny povinné parametry if (!$komu) $errlist .= ", Komu"; if (!$email) $errlist .= ", Email"; while (list($promenna, $hodnota) = each($_POST)) { if ((substr($promenna, 0, 1) == "@") && ($hodnota == "")) $errlist .= ", " . substr($promenna, 1); } // pokud nejsou vyplněny povinné parametry if ($errlist) { echo "<font size=\"6\"><b>Chyba!</b></font>"; echo "<p>Nejsou vyplněny všechny požadované údaje:<br>"; echo "<b>".substr($errlist, 1)."</b></p>"; echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; exit; // ukončíme zpracování scriptu } if ($html == "Y") { // pokud má být mail odeslán ve formátu HTML $telo = "<table>"; $telo .= "<tr><td><font color=\"Red\"><b>Email:</b></font></td><td> </td><td>$email</td></tr>"; reset($_POST); while (list($promenna, $hodnota) = each($_POST)) { // nahradíme konce řádků tagem <br> $hodnota = str_replace(chr(13) . chr(10), "<br>", $hodnota); $hodnota = str_replace(chr(10) . chr(13), "<br>", $hodnota); $hodnota = str_replace(chr(13), "<br>", $hodnota); $hodnota = str_replace(chr(10), "<br>", $hodnota); // pokud parametr začíná na # nebo *, tak zapsat hodnotu do textu mailu if (((substr($promenna, 0, 1) == "@") || (substr($promenna, 0, 1) == "#")) && ($hodnota != "")) { $telo .= "<tr><td valign=\"top\"><b>".substr($promenna, 1).":</b></td><td> </td><td>$hodnota</td></tr>"; } } $telo .= "</table>"; $telo .= "<p><hr></p>"; $telo .= "<p><b>Uživatelův browser:</b> $HTTP_USER_AGENT<br>"; $telo .= "<b>IP adresa, ze které přišel požadavek:</b> $REMOTE_ADDR</p>"; // odešleme mail ve formátu HTML $mail = new html_mime_mail("X-Mailer: Html Mime Mail Class"); // vložení přílohy, pokud je zadána if ($soubor_name) { if (copy ($soubor, "../temp/$soubor_name")) { $priloha = $mail->get_file("../temp/$soubor_name"); $mail->add_attachment($priloha, $soubor_name, $soubor_type); unlink("../temp/$soubor_name"); } } // odešleme mail ve formátu HTML $mail->add_html(ToISO($telo), ""); $mail->set_charset('iso-8859-2', TRUE); $mail->build_message(); $mail->send($komu, $komu, $email, $email, ToISO($predmet), "Return-Path: $email"); $sendok = true; // odeslat potvrzení usleep(500); $mail->send($email, $email, $email, $email, ToISO("Potvrzení - vyplnění formuláře"), "Return-Path: $email"); } else { // pokud má být mail odeslán ve formátu prostého textu $telo = "Email: $email\n"; // projdeme všechny přijaté parametry reset($_POST); while (list($promenna, $hodnota) = each($_POST)) { // nahradíme konce řádků znakem \n $hodnota = str_replace(chr(13) . chr(10), "\n", $hodnota); $hodnota = str_replace(chr(10) . chr(13), "\n", $hodnota); $hodnota = str_replace(chr(13), "\n", $hodnota); $hodnota = str_replace(chr(10), "\n", $hodnota); // pokud parametr začíná na # nebo *, tak zapsat hodnotu do textu mailu if (((substr($promenna, 0, 1) == "@") || (substr($promenna, 0, 1) == "#")) && ($hodnota != "")) { $telo .= substr($promenna, 1) . ": $hodnota\n"; } } // necháme si poslat označení uživatelova browsu a jeho IP $telo .= "\nUživatelův browser: $HTTP_USER_AGENT\n"; $telo .= "IP adresa, ze které přišel požadavek: $REMOTE_ADDR\n"; // odešleme mail funkcí mail() $sendok = mail($komu, ToISO($predmet), ToISO($telo), "From: $email\nReturn-Path: $email"); // odeslat potvrzení usleep(500); mail($email, ToISO("Potvrzení - vyplnění formuláře"), ToISO($telo), "From: $email\nReturn-Path: $email"); } // pokud byl mail odeslán v pořádku if ($sendok) { // přesměrujeme mail na stránku s poděkováním if ($nexturl != "") { echo "<script language=\"JavaScript1.2\"><!--\n"; echo "self.location=\"$nexturl\";\n"; echo "// -->\n"; echo "</script>"; } else { echo "<font size=\"6\"><b>Děkujeme!</b></font>"; echo "<p>Vaše zpráva byla v pořádku odeslána.</p>"; if ($backurl != "") { echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; } else { echo "<p><a href='$s_backurl'>Návrat</a></p>"; } } } else { // pokud nebyl mail odeslán echo "<font size=\"6\"><b>Chyba!</b></font>"; echo "<p>Některá ze služeb selhala. Zkuste to prosím později.<br>"; echo "V případě potíží kontaktujte: <a href='mailto:lola92@seznam.cz'>administrátora</a></p>"; echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; } } else { // pokud byl script spuštěn bez parametrů echo "<font size=\"6\"><b>Chyba!</b></font>"; echo "<p>Toto je skript, kterým se odesílají zprávy z formulářů.<br>"; echo "Nešahat! Být moje :-)</p>"; echo "<p>V případě potíží kontaktujte: <a href='mailto:lola92@seznam.cz'>administrátora</a></p>"; echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; } ?>
  4. >/3w/mysteria.cz/h/heroes3/inc/functions.php proc pouzivas absolutni cestu? s relativni by ses tomuhle problemu vyhnul...
  5. jinak ke zjisteni absolutni cesty ke skriptu koukni na http://mt.wz.cz/info.php, nebo do promenne $_SERVER["PATH_TRANSLATED"] nebo $_SERVER["SCRIPT_FILENAME"].
  6. "Jinak by bývalo dobré ukázat, co je na tom inkriminovaném řádku 23 a pár řádků před a po." Tím jsem rozhodně nemyslel CELÝ skript!
  7. zbi: ;) lepsi neco nez nic, ne? ale cist to cele nebudu.
  8. omg...naco tam mas toto ? : require("/3w/mysteria.cz/h/heroes3/inc/functions.php"); ? vsak das require("cesta k suboru"); v tvojom pripade to je asi : require("inc/functions.php"); ak je ten subor functions.php v tom adresari inc....proste parameter vo fcii require musi byt cesta k suboru .....ale netreba ti tam to 3w/mys.......
  9. Je tady někdo kdo by chtěl spolupracovat na webu? pište na nejjjj@seznam.cz

← Zpět na všechna témata