| Autor | Zpráva | ||
|---|---|---|---|
| Jitka Šoltysová Profil |
#1 · Zasláno: 9. 11. 2014, 00:31:34
Potřebuji poradit a pokud to tu už je omlouvám se, já to nenašla.
Chci aby se vyplněná data zobrazily a po potvrzení uživatelem odeslaly. Zde je zdroj http://uzameckehoparku.cz/php/zkouska/mail.html Mě nic neodchází. Díky moc |
||
| juriad Profil |
#2 · Zasláno: 9. 11. 2014, 01:39:03
Jitka Šoltysová:
Jak vypadají skripty potvrdte.php a zkouska.php? Nejspíš se ti ztratí proměnné odeslané skriptu zkouska.php. Měla bys je uložit do SESSION. |
||
| Jitka Šoltysová Profil |
#3 · Zasláno: 9. 11. 2014, 07:31:24
tady je zkouska.php
<body> <div id="strana"> <h1>Odesílání emailu</h1> Tady něco vypíšu<br> <? $predmet = $_POST['predmet']; $email = $_POST['email']; $spam = $_POST['spam']; $zprava = $_POST['zprava']; echo "<p>predmet: "; echo $predmet; echo "<br>"; echo "email: "; echo $email; echo "<br>"; echo "zprava: "; echo $zprava; echo "<p>"; ?> <p>Pokud jsou vaše data v pořádku, odešlete mail</p> <form action="potvrdte.php" method="post"> <input type="submit" value="Potvrďte"> </form> <br> <a href="javascript: history.go(-1)">Zpět</a> </div> </body> A tady potvrdte.php <?
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];
if ($predmet!="" and $email!="" and $zprava!="")
{
Mail("j.solty@seznam.cz", $predmet, $zprava, "From: " . $email);
echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>";
}
else
{
echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje.</p>";
}
?> |
||
| juriad Profil |
#4 · Zasláno: 9. 11. 2014, 07:47:55
Jitka Šoltysová:
Problém je v tom, že první formulář hodnoty odešle, ty se zobrazí, ale druhý formulář obsahuje jen tlačítko, žádná data. Přidej na začátek zkouska.php (na první řádek, před vše ostatní - nesmí před tím být ani mezera): <?php # toto zahájí session - úložiště pro uživatele v PHP # každému uživateli bude patřit kopie pole $_SESSION session_start(); ?> A pak za 9. řádek přidej: # uloží data $_SESSION['predmet'] = $predmet; $_SESSION['email'] = $email; $_SESSION['spam'] = $spam; $_SESSION['zprava'] = $zprava; A v potvrdte.php nahraď řáďky 2-5 za: # obnoví data $predmet = $_SESSION['predmet']; $email = $_SESSION['email']; $spam = $_SESSION['spam']; $zprava = $_SESSION['zprava']; |
||
| Jitka Šoltysová Profil |
#5 · Zasláno: 9. 11. 2014, 19:43:04
Moc díky za pomoc, ale nic mi stále neodchází, napíše mi to "Váš e-mail se nepodařilo odeslat pravděpodobně jste nevyplnili všechny údaje."
Zde je opraveny potvrdte.php <body>
<div id="strana">
<h1>Odesílání emailu</h1>
<?
# obnoví data
$predmet = $_SESSION['predmet'];
$email = $_SESSION['email'];
$spam = $_SESSION['spam'];
$zprava = $_SESSION['zprava'];
if ($predmet!="" and $email!="" and $zprava!="")
{
Mail("j.solty@seznam.cz", $predmet, $zprava, "From: " . $email);
echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>";
}
else
{
echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje.</p>";
}
?>
<br>
<a href="javascript: history.go(-1)">Zpět</a>
</div>
</body> |
||
| juriad Profil |
#6 · Zasláno: 10. 11. 2014, 06:05:12
Omlouvám se, zapomněl jsem napsat, že je nutné přidat i
session_start(); do toho souboru potvrdte.php (musí být ve všech souborech, které používají SESSION).
Pro kontrolu si můžeš někam přidat: var_dump($_SESSION); |
||
|
Časová prodleva: 11 let
|
|||
0