Autor | Zpráva | ||
---|---|---|---|
denCo Profil |
#1 · Zasláno: 29. 5. 2009, 17:51:10 · Upravil/a: denCo
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 |
#2 · Zasláno: 29. 5. 2009, 17:58:59
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 |
#3 · Zasláno: 29. 5. 2009, 18:02:12
„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 |
#4 · Zasláno: 29. 5. 2009, 20:13:19
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 |
#5 · Zasláno: 30. 5. 2009, 12:47:05 · Upravil/a: denCo
ok dik idem skusit
hlasi chybu Parse error: syntax error, unexpected ')', expecting '&' or T_VARIABLE na riadku 1 |
||
Časová prodleva: 6 dní
|
|||
denCo Profil |
#6 · Zasláno: 5. 6. 2009, 17:36:21
sry za spam ale to mi nikto nepomoze s tou funkciov??? lebo ja som zaciatocnim tak velmi neviem robit s php
|
||
panther Profil |
#7 · Zasláno: 5. 6. 2009, 17:46:41
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 |
#8 · Zasláno: 5. 6. 2009, 17:48:54
to som zistil aj ja... tento riadok
function disable_form_submit(form){ |
||
denCo Profil |
#9 · Zasláno: 5. 6. 2009, 17:49:20 · Upravil/a: denCo
neviem co s tym vobec, a ten co mi to poslal sa neozval uz :D
|
||
panther Profil |
#10 · Zasláno: 5. 6. 2009, 17:52:47
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 |
#11 · Zasláno: 5. 6. 2009, 22:27:21
ano, je to javascriptová funkce :) jak bys prosímtě chtěl PHPkem blokovat submitovací tlačítko?
|
||
denCo Profil |
#12 · Zasláno: 6. 6. 2009, 09:07:05
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
|
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0