Autor Zpráva
denCo
Profil
mam script, ktory mi odosle mail
<?php
          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 = htmlspecialchars($predmet);
          $telo = htmlspecialchars($telo);
          if (empty($chyba) && empty($chyba2)) {
          $komu = "geodet.havlik@gmail.com";
          $hlavicka = "From: \"$mail\" <$mail>\r\n";
          $hlavicka .= "Content-Type: text/plain; charset=utf-8\r\n";
          $telo = "Odosielateľ zadal túto e-mailovú adresu: " . $mail . ". \n Nasleduje samotná správa: \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>


lenze ked dam premennu $ok = "email bol supesne odoslany" do posledneho if a pred formular dam <?php echo $ok; ?> tak mi to vipise iba na minisekundu, lenze ja potrebujem aby mi to vipisalo ak kym sa nerefresne stranka... da sa to spravit aj spolu s tym javascriptom alebo javascript musim dat prec??? dik za rady
AM_
Profil
Tady nemá javascriptové přesměrování opodstatnění, přesměruj přes php
header('location: ./mail.php');

- pozor, tenhle příkaz musí jít před všemi HTML výstupy, protože ovlivňuje hlavičky.
denCo
Profil
Tady nemá javascriptové přesměrování opodstatnění, přesměruj přes php
1
header('location: ./mail.php');
- pozor, tenhle příkaz musí jít před všemi HTML výstupy, protože ovlivňuje hlavičky.

ja som ten javascript tam dal koli tomu, aby nemohli poslat dva krat ten istny mail ked kliku naspat a znova odoslat, aj tak to bude mat rovnaky efekt?
AM_
Profil
No s tvým řešením musí akorát na zpět kliknout dvakrát :) z historie to stejně nezmizí. Většinou bohatě stačí jakékoli přesměrování, protože tím se zablokuje dvojí odeslání při refreshi stránky. ale dobré je třeba při odeslání formu zablokovat (disabled) odesílací tlačítko, tím se zabrání dvojímu odeslání, když uživatel omylem na odeslat klikne dvakrát, což je dost nepříjemné. Napsal jsem si na to funkci:
function disable_form_submit(form){
  inputs = form.getElementsByTagName('input');
  for (i = 0; i < inputs.length; i++){
    if (inputs[i][0]) {//is indexable = grouped inputs with same name
      for (j = 0; j < inputs[i].length; j++){
        if (inputs[i][j].type == 'submit'){
          inputs[i][j].disabled = true;
        }
      }
    } else {
      if (inputs[i].type == 'submit'){
        inputs[i].disabled = true;
      }
    }
  }
}

pro implementaci stačí <form onsubmit="disable_form_submit(this)">
to by mělo zůstat zablokované i v případě, že se uživatel vrátí tlačítkem zpět.
denCo
Profil
ok dik idem skusit

hlasi chybu
Parse error: syntax error, unexpected ')', expecting '&' or T_VARIABLE
na riadku 1
denCo
Profil
sry za spam ale to mi nikto nepomoze s tou funkciov??? lebo ja som zaciatocnim tak velmi neviem robit s php
panther
Profil
denCo
hlasi chybu: Parse error: syntax error, unexpected ')', expecting '&' or T_VARIABLE
myslíš, že vím, jak vypadá tvůj první řádek?

O jakou chybu se jedná, máš napsáno: „Neočekávaná koncová závorka, očekáván & nebo proměnná“.
denCo
Profil
to som zistil aj ja... tento riadok
function disable_form_submit(form){
denCo
Profil
neviem co s tym vobec, a ten co mi to poslal sa neozval uz :D
panther
Profil
denCo
neviem co s tym vobec, a ten co mi to poslal sa neozval uz :D
nechybí ti tam <script> a </script>? Ten kód [#4] je javascriptový, nikoliv PHPčkový ;-)
AM_
Profil
ano, je to javascriptová funkce :) jak bys prosímtě chtěl PHPkem blokovat submitovací tlačítko?
denCo
Profil
to si mi mohol aspon napisat :D ja neviem ako preto om sa pital a s php iba zacinam tak preto... ok dik uz mi to ide
Toto téma je uzamčeno. Odpověď nelze zaslat.