Autor Zpráva
denCo
Profil
cawte, mam funkciu mail() ale chcem to spravit aby sa mi spojil uzivatelom zadany mail aj s celym textom
<?php
          function Ciste($sprava)
          {
          $sprava = str_replace ("<", "&lt;", $sprava);
          $sprava = str_replace (">", "&gt;", $sprava);
          $sprava = str_replace ("\"", "&quot;", $sprava);
          $sprava = str_replace ("'", "'", $sprava);
          return $sprava;
          }
          if ($_POST['odoslal'] == 1) {
          $mail = $_POST['mail'];
          $predmet = $_POST['predmet']; 
          $telo = $_POST['telo'];
          $valid = ereg("^[0-9a-zA-Z=#!%&*()_-]+[.]?[0-9a-zA-Z=#!%&*()_-]*@[0-9a-zA-Z]+[.][0-9a-zA-Z]{1,4}[.]?[0-9a-zA-Z]*", $mail);
          if ($valid != 1) { $chyba = "Zadali ste neplatný mail!"; }
          if (empty($telo) || empty ($predmet)) { $chyba2 = "Neposielajte mi prázdny mail!"; }
          $predmet = Ciste($predmet);
          $telo = Ciste($telo);
          if (empty($chyba) && empty($chyba2)) {
          $komu = "moja@adresa.sk";
          $hlavicka = "From: \"$mail\" <$mail>\r\n";
          $hlavicka .= "Content-Type: text/plain; charset=utf-8\r\n";
          $telo = $mail . "/n" . $telo;
          mail ($komu, $predmet, $telo, $hlavicka);
          $chyba = "<script>
          window.location.replace( \" ./mail.php \" );
          </script>";
          }
          }
?>
........
<form method="post" action ="mail.php">
          <table>
          <tr><td>Váš e-mail:</td>
              <td>   <div class="chyba"> <?php echo $chyba; ?> </div> <input maxlength="50" class="mix" type="text" name="mail"/></td></tr>
          <tr><td>Predmet správy:</td>
              <td>   <div class="chyba"><?php echo $chyba2; ?> </div><input maxlength="50" class="mix" type="text" name="predmet"/> </td></tr>
          <tr><td>Text správy:</td>
              <td><textarea name="telo" class="telo"> </textarea></td></tr>
          <tr><td colspan="2">
              <center> <input type="submit" name="odoslat" value="Odoslať"/>
                       <input type="hidden" name="odoslal" value="1">
              </center>
              </td>
          </tr>
          </table>
        </form>


všetko mi ide v pohode len tento riadok
          $telo = $mail . "/n" . $telo;

mi stále robí problémy, lebo vipíše mail dobre ale nedá nový riadok ale dá značku /n a text.... co vizera asi takto:
asd@asd.sk/n cely text spravy
ako to mam spravit aby mi tu znacku /n nepisalo ale aby mi text presiel na dalsi riadok??? dik moc



a este ze co tam mam doplnit, aby vipisalo ze ci je odoslany alebo nie... dik
anonymní
Profil *
Nemá tam být \n
denCo
Profil
Nemá tam být \n
nic v zlom ale tym ze napises co tam nema byt mi nepomozes, tak co tam ma byt?

edit: sry prepac ale nevsimol som si ze si dal naopak to lomitko
WertriK
Profil
$telo = $mail . "\n" . $telo;
tiso
Profil
denCo miesto vlastnej funkcie Ciste() použi vstavanú funkciu htmlspecialchars()!
denCo
Profil
denCo miesto vlastnej funkcie Ciste() použi vstavanú funkciu htmlspecialchars()!
preco???



dikes, to lomitko ma stve :D
Werewolf
Profil
denCo
preco???
Tak například, říká Ti něco slovo modem? A víš, jak je modem pomalý? A víš, jak je pomalé připojení lidí, kteří se přes modem připojují?
Pokud funkci Ciste() nahradíš funkcí htmlspecialchars(), ušetříš asi 1150 znaků, což je přes kilobajt. A bez urážky, funkce htmlspecialchars() je přehlednější, než tohle... tahle... radši nic... Asi bych vyplýtval maximální počet znaků.
denCo
Profil
viem co je modem, a je to rovnako (prip. lepsie) zabezpecenie???
denCo
Profil
a este sa chcem spytat, ze ci mam radcej pouzit
$chyba = "<script>
          window.location.replace( \" ./mail.php \" );
          </script>";

aby mi nechodili nahodou emaili dva za sebou alebo radcej mam napisat, aby vipisalo ze mail bol uspesne odoslany... co je lepsie alebo co by ste doporucili
keeehi
Profil
Werewolf
souhlasím s použitím funkce htmlspecialchars(), ale nějak nechápu jak to souvisí s modemem. Tento script se provádí na servru a uživatel ho vůbec nestahuje. Takže jemu je jedno, jak je velký.
Toto téma je uzamčeno. Odpověď nelze zaslat.