| Autor | Zpráva | ||
|---|---|---|---|
| kulisek9871 Profil |
#1 · Zasláno: 9. 11. 2013, 10:37:26
Tady je kontaktní formulář:
<form action="send.php" method="post"> <table bgcolor="#FFFF00" width="350" border="0" style="border-radius:30px"> <tr> <td width="50%"><center>Přihlašovací jméno</td><td><center>Email</td> </tr> <tr> <td><center><input name="prihlasovaci_jmeno" type="text"></td><td><center><input name="email" type="text"></td> </tr> <tr> <td colspan="2"><center>Předmět</td> </tr> <tr> <td colspan="2"><center><input name="predmet" type="text"></td> </tr> <tr> <td colspan="2"><center>Text zprávy</td> </tr> <tr> <td colspan="2"><center><textarea name="zprava" rows="6" cols="60" wrap="soft"></textarea></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" class="button" value="Odeslat"><input type="reset" value="Vymazat"></td> </tr> </table> </form> Soubor send.php na odeslání <?php $prihlasovaci_jmeno = $_POST['prihlasovaci_jmeno']; $email = $_POST['email']; $predmet = $_POST['predmet']; $zprava = $_POST['zprava']; $to = "maresluk@seznam.cz"; $extra = "From: $email\r\nReply-To: $email\r\n"; $subject = "Vzkaz od ".$prihlasovaci_jmeno.""; $mess = "Přihlašovací jméno: ".$prihlasovaci_jmeno."\nEmail: ".$email."\nPředmět: ".$predmet."\nText zprávy: ".$zprava." \n"; mail ($to, $subject, $mess, $extra); ?> Potřeboval bych ajít chybu proč to neodesílá na email. Když kliknu na odesla vypíše mi tuto chybu: Notice: Undefined index: prihlasovaci_jmeno in C:\fff\htdocs\klikjezisk\send.php on line 3, ale nemůžu tu chybu najít. Děkuji všem. |
||
| maks Profil |
#2 · Zasláno: 9. 11. 2013, 10:43:44
kulisek9871:
to je divné... opravdu tam není nikde překlep v tom názvu inputu v HTML? Nebo v PHP? Co ti píše print_r($_POST); v send.php?
|
||
| kulisek9871 Profil |
#3 · Zasláno: 9. 11. 2013, 11:17:05
Překlep by neměl být. Script funguje, protože to vypisuje pomocí echa takže nevím kde je chyba.
|
||
| maks Profil |
kulisek9871:
„protože to vypisuje pomocí echa takže nevím kde je chyba.“ jakého echa? Kde? Nemáš problém s fcí mail, ale ten, že neexistuje na ř. 3 daný index v poli POST.
|
||
| Taps Profil |
kulisek9871:
zkus níže uvedené <?php
$prihlasovaci_jmeno = (isset($_POST['prihlasovaci_jmeno'])) ? $_POST['prihlasovaci_jmeno'] : FALSE;
$email = (isset($_POST['email'])) ? $_POST['email'] : FALSE;
$predmet = (isset($_POST['predmet'])) ? $_POST['predmet'] : FALSE ;
$zprava = (isset($_POST['zprava'])) ? $_POST['zprava'] : FALSE ;
$to = "maresluk@seznam.cz";
$extra = "From: $email\r\nReply-To: $email\r\n";
$subject = "Vzkaz od ".$prihlasovaci_jmeno."";
$mess = "Přihlašovací jméno: ".$prihlasovaci_jmeno."\nEmail: ".$email."\nPředmět: ".$predmet."\nText zprávy: ".$zprava." \n";
$odeslat=mail ($to, $subject, $mess, $extra);
if($odeslat){
echo 'Odesláno';
}
else{
echo 'Chyba funkce mail';
}
?> |
||
| maks Profil |
#6 · Zasláno: 9. 11. 2013, 11:30:30
Taps:
podmínka je dobrá věc, ale neřeší, proč nepřiteče to pole. Osobně to vidím na překlep někde cestou. Na stránka send.php sám od sebe bez formuláře tazatel nepřistupuje. |
||
| Taps Profil |
#7 · Zasláno: 9. 11. 2013, 11:34:40
maks:
podmínka odbourá Notice: Undefined index Ještě je možné, že kulisek9871 testuje skript na localhostu a nemá na instalovaný smtp server |
||
| maks Profil |
#8 · Zasláno: 9. 11. 2013, 11:44:45
Taps:
„podmínka odbourá Notice: Undefined index“ ano, ale to není řešení problému. Ten index by měl existovat, měl by dorazit z formuláře. Na serveru pak samozřejmě ošetřit, to je v pořádku, ale teď to nepomůže, jen opraví noticku místo toho, aby se vyřešilo, kde je problém, proč ten klíč neexistuje. „Ještě je možné, že kulisek9871 testuje skript na localhostu a nemá na instalovaný smtp server“ nesouvisí s notickou na 3. řádku, kde je jen přiřazení do proměnné. |
||
| Taps Profil |
#9 · Zasláno: 9. 11. 2013, 11:55:42
maks:
„nesouvisí s notickou na 3. řádku, kde je jen přiřazení do proměnné.“ To není, ale zároveň je to info pro tazatele jak notice eliminovat |
||
| kulisek9871 Profil |
#10 · Zasláno: 9. 11. 2013, 13:00:30
Chyba je již vyřešená. Problém byl, že jsem to testoval na localhostu nikoli hostingu. Děkuji vám už vše funguje kromě jedné věci. Na jedné stránce mám 2 tabulky, které jdou vypsat. U první jde to vypsat a ty informace, které zadám se pošlou automaticky na email. V případě kdy vyplním druhou tabulku tak to pořád vypisuje, že jsem nevyplnil pole Výše výběru. Nevím proč to pořád píše, když jsem to vyplnil. Můžete mi prosím poradit? Děkuji. Vždy se vyplňuje jedna nebo druhá nikoli obě najednou. Zkoušel jsem to na hostingu, ale píše to pořád to stejné.Vypiusuje to tu podmínku že jsem nevyplnil výši výběru.
podminka_vyberu.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title>Výběrová_podmínka</title> </head> <body> <form action="send1.php" method="post"> <table align="center" bgcolor="yellow" border="1px" bordercolor="black" > <tr><h1>Výběr převodem</h1></tr> <tr><td rowspan=>Přihlašovací jméno:</td><td><input type="text" name="prihlasovaci_jmeno"></td></tr> <tr><td rowspan=>Číslo bankovního účtu:</td><td><input type="text" name="cislo_bankovniho_uctu"></td></tr> <tr><td rowspan=>Kód banky:</td><td><input type="text" name="kod_banky"></td></tr> <tr><td rowspan=>Výše výběru:</td><td><input type="text" name="vyse_vyberu"></td></tr> </table> <br> <center><td><input type="submit" class="button" value="Vybrat"></td</center> </form> <form action="send2.php" method="post"> <table align="center" bgcolor="yellow" border="1px" bordercolor="black" > <tr><h1>Výběr Poukázkou</h1></tr> <tr><td rowspan=>Jméno a příjmení:</td><td><input type="text" name="jmeno_a_prijmeni"></td></tr> <tr><td rowspan=>Adresa:</td><td><input type="text" name="adresa"></td></tr> <tr><td rowspan=>Město</td><td><input type="text" name="mesto"></td></tr> <tr><td rowspan=>Číslo popisné</td><td><input type="text" name="cislo_popisne"></td></tr> <tr><td rowspan=>Směrovací číslo</td><td><input type="text" name="smerovaci_cislo"></td></tr> <tr><td rowspan=>Výše výběru:</td><td><input type="text" name="vyse_vyberu"></td></tr> </table> <br> <br> <center><td><input type="submit" class="button" value="Vybrat"></td</center> </form> </body> </html> soubor send2.php <?php
session_start();
$jmeno_a_prijmeni = $_POST['jmeno_a_prijmeni'];
$adresa = $_POST['adresa'];
$mesto = $_POST['mesto'];
$cislo_popisne = $_POST['cislo_popisne'];
$smerovaci_cislo = $_POST['smerovaci_cislo'];
$vyse_vyberu = $_POST['vyse_vyberu'];
$error="";
if (strlen($jmeno_a_prijmeni) < 1) {$error=$error."<br>Jméno a příjmení musí být vyplněné!";}
if (strlen($adresa) < 1) {$error=$error."<br>Adresa musí být vyplěná!";}
if (strlen($mesto) < 1) {$error=$error."<br>Město musí být vyplněné!";}
if (strlen($cislo_popisne) < 1) {$error=$error."<br>Číslo popisné musí být vyplněné!";}
if (strlen($smerovaci_cislo) < 1) {$error=$error."<br>Směrovací číslo musí být vyplněné!";}
if (strlen($vyse_vyberu) < 1) {$error=$error."<br>Výše výběru musí být vyplněná!";}
if (strlen($error) > 0){
echo "Vzhledem k tomu, že jste vyplnili špatně formulář vznikla chyba! <a href=\"javascript:history.back();\"><font color='gray'>Späť na Mailový Formulár</font></a>$error";exit;
}else{
$to = "maresluk@seznam.cz";
$extra = "From: $prihlasovaci_jmeno\r\nReply-To: $prihlasovaci_jmeno\r\n";
$subject = "Vzkaz od ".$prihlasovaci_jmeno."";
$mess = "Jméno a příjmení: ".$jmeno_a_prijmeni."\nAdresa: ".$adresa."\nMěsto: ".$mesto."\nČíslo popisné: ".$cislo_popisne."\nSměrovací číslo: ".$smerovaci_cislo."\nVýše výběru: ".$vyse_vyberu." \n";
mail ($to, $subject, $mess, $extra);
}
?>
<html><head>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=podminka_vyběru.php">
</head></html> |
||
| kulisek9871 Profil |
#11 · Zasláno: 9. 11. 2013, 18:06:47
MŮŽETE TOTO TÉMA SMAZAT. PROBLÉMY JSOU JIŽ VYŘEŠENY. DĚKUJI
|
||
| lionel messi Profil |
kulisek9871
A JA ALEBO MOJI KOLEGOVIA SA Z NEHO TREBÁRS CHCEMMME POUČIŤ. KEĎ CHCEŠ, ABY TI PORADILI VEREJNE, PREČO BY VLÁKNO MALO BYŤ ZMAZANÉ? |
||
| Tori Profil |
Zkusil jste použít návod z FAQ? Pardon, myslela jsem, že je problém s odesláním e-mailu. Co způsobovalo tu chybu? Na první pohled ten kód vypadá v pořádku. |
||
| kulisek9871 Profil |
#14 · Zasláno: 9. 11. 2013, 19:50:56
Chybělo tam pár věcí už celkem nevím které, protože tvořím projekt, ketrý má 18 souborů a každý má cca 200 řádků takže ž nevím co tam chybělo. Omlouvám se a děkuji
|
||
|
Časová prodleva: 13 let
|
|||
0