Autor Zpráva
root
Profil *
http://sluzbyvdomacnosti.cz/objednavka.php - mám takovýto formulář který se odesílá pomocí metody POST na soubor odeslat.php
Jak mohu pomocí funkce mail() tento formulář odeslat na mail? A jak vlastně zjistím, že funkce mail() je podporována webhostingem, který mám u gigaserver.cz? Díky moc za ochotu :(
panther
Profil
root:
ak mohu pomocí funkce mail() tento formulář odeslat na mail?
zjistit si, jak funkce mail funguje. Například z manuálu. Pokud to víš, máme zkusit věštit a uhodnout, kde v kódu, který nevidíme, bys mohl mít chybu?
root
Profil *
<form action="odeslat.php" method="post">

  <fieldset>

  <div class="grid_4">
  <label for="jmeno">Jméno:</label>
  </div>

  <div class="grid_8"> 
  <input type="text" size="20" id="jmeno">
  </div>

  <div class="grid_4">
  <label for="prijmeni">Příjmení:</label>  
  </div>
  <div class="grid_8"> 
  <input type="text" size="20" id="prijmeni">
  </div>

  <input name="send" value="ok" type="hidden" />

.....

a v odeslat.php

je

  <?php
 
 if($_POST['send']=="ok"){
    Mail("tamkamtochciposlat@tadybude.cz", "$jmeno",  "$prijmeni");
    echo "E-mail odeslán";
    }
?>
panther
Profil
root:
jen tak mimochodem, proměnné jméno a prijmeni z funkce mail se plni kde? Pravděpodobně to jsou součásti pole POST, v HTML žádné položky se shodným atributem name nejsou.

A jak vlastně zjistím, že funkce mail() je podporována webhostingem, který mám u gigaserver.cz?
možná tak, že jim napíšeš nebo se podíváš na stránky hostingu, některé mají nastevení serveru rozepsané (teď nevím, možná by to šlo vykoukat i z phpinfo()).
root
Profil *
<form action="odeslat.php" method="post">

  <fieldset>

  <div class="grid_4">
  <label for="jmeno">Jméno:</label>
  </div>
  <div class="grid_8"> 
  <input type="text" size="20" id="jmeno" name="jmeno">
  </div>

  <div class="grid_4">
  <label for="prijmeni">Příjmení:</label>  
  </div>
  <div class="grid_8"> 
  <input type="text" size="20" id="prijmeni" name="prijmeni">
  </div>


takto to musí být?
root
Profil *
Problém je v tom, že já těch položek mám 9 + komnetář či poznámku jako textarea ... to jde pomocí funkce mail() odeslat i více položek než jen předmět, příjemce, zpráva?
panther
Profil
root:
atribut name tam být musí každopádně, v PHP pak $_POST['hodnota_name'] a ne jen $hodnota_name. Dále se hodí i atribut ID, na který se váže atribut for z <label>u.

Problém je v tom, že já těch položek mám 9 + komnetář či poznámku jako textarea
no a?

to jde pomocí funkce mail() odeslat i více položek než jen předmět, příjemce, zpráva?
funkce mail má 3 povinné a 2 nepovinné argumenty. Z těch tvých devíti položek bude většina ve zprávě (těle mailu).
root
Profil *
<form action="odeslat.php" method="post">

  <fieldset>

  <div class="grid_4">
  <label for="jmeno">Jméno:</label>
  </div>
  <div class="grid_8"> 
  <input type="text" size="20" id="jmeno" name="jmeno">
  </div>

  <div class="grid_4">
  <label for="prijmeni">Příjmení:</label>  
  </div>
  <div class="grid_8"> 
  <input type="text" size="20" id="prijmeni" name="prijmeni">
  </div>
  
  <div class="grid_4">
  <label for="ulice">Místo výkonnu práce: *</label>
  </div>
  <div class="grid_8">  
  <input type="text" size="20" id="ulice" name="ulice">
  </div>
  
  <div class="grid_4">
  <label for="telefonx">Telefon domů:</label>
  </div>
  <div class="grid_8">  
  <input type="text" size="20" id="telefonx" name="telefonx">
  </div>
  
  <div class="grid_4">
  <label for="mobil">Mobilní telefon:</label>
  </div>
  <div class="grid_8">  
  <input type="text" size="20" id="mobil" name="mobil">
  </div>
  
  <div class="grid_4">
  <label for="email">E-mail:</label>
  </div>
  <div class="grid_8">  
  <input type="text" size="20" id="email" name="email">
  </div>
  
  <div class="grid_4">
  <label for="f2select">Nabídka služeb:</label>
  </div>
  <div class="grid_8"> 
  <select id="f2select" name="sluzby">
  <option value="1" selected="selected">Úklid</option>
  <option value="2">Žehlení</option>
  </select>
  </div>
  
  <div class="grid_4">
  <label for="prace">Předpokládaný rozsah práce:</label>
  </div>
  <div class="grid_8">  
  <input type="text" size="20" id="prace" name=="prace">
  </div>
  
  <div class="grid_4">
  <label for="zs">Zahájení služby:</label>
  </div>
  <div class="grid_8">  
  <input type="text" size="20" id="zs" name="zs">
  </div>
  
  <div class="grid_4">
  <label for="komentar">Poznámka:</label>
  </div>
  <div class="grid_8">
  <textarea id="komentar" name="komentar" cols="20" rows="10"></textarea>

  <input class="od" type="submit" id="f2submit" value="Odeslat objednávku" />
  <input class="vy" type="reset" id="f2submit" value="Vyčistit formulář" />

  </div>
  
  </fieldset>
 
  </form>


Mám to takto, ale sám to dohromady asi nedám. Jak to můžu rozdělit to těla mailu? :( Jsem looser, asi kveteš ze mě já vím :(
panther
Profil
root:
najdi si, jak se spojují řetězce v PHP (z jednotlivých proměnných (políčka z formuláře) si poskládej proměnnou $zprava, kterou pak vlož do funkce mail jako 3. parametr (viz manuál).

Kdyby sis na odkázané stránce pročetl příklady, třeba bys taky něco navíc pochytil.
root
Profil *
Ok, to je dobrý nápad. Díky

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: