Autor Zpráva
kulisek9871
Profil
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
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
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
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
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
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
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
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
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
kulisek9871:
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
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: