Stránka 1 z 1

PHP formulář

Napsal: 20 bře 2015 22:56
od MrFiliper
Zdravím, potřeboval bych pomoci s PHP formulářem. Vše mi fungovalo až do nějaké doby kdy jsem nejspíše něco předělal a teď zaboha nevím co. Celý formulář html je správně, jde o část php. Mám problém v tom že se mi neodesílají data z formuláře do $_POST a nevím proč. Za každou radu budu moc vděčný.

Kód: Vybrat vše

<form action="platba.php" method="post">
      <table>
      <tr><td width="150">Nick:</td> <td width="200"><input name="nick" size="25" placeholder="MrFiliper"></td></tr>
      <tr><td width="150">Email:</td> <td width="250"><input name="email" size="25" placeholder="MrFiliper@woblex.cz"></td></tr>
      <td width="150">PaySafeCard kód:</td> <td width="150"><input name="kod1" size="4" maxlength="4"><input name="kod2" size="4" maxlength="4"><input name="kod3" size="4" maxlength="4"><input name="kod4" size="4" maxlength="4"></td>
      </table><br>
      <center>Výběr Premium účtu</center><br>
      <input type="radio" name="vybervip" value="VIP-7dni">VIP - 7 dní (2 €)<br>
      <input type="radio" name="vybervip" value="VIP-14dni">VIP - 14 dní (3.2 €)<br>
      <input type="radio" name="vybervip" value="VIP-30dni">VIP - 30 dní (4 €)<br>
      <input type="radio" name="vybervip" value="MegaVIP-7dni">MegaVIP - 7 dní (2 €)<br>
      <input type="radio" name="vybervip" value="MegaVIP-14dni">MegaVIP - 14 dní (2 €)<br>
      <input type="radio" name="vybervip" value="MegaVIP-30dni">MegaVIP - 30 dní (2 €)<br>
      <center>Poznámka</center><br>
      <textarea name="zprava" rows="6" cols="76" placeholder="Text"></textarea><br>
      <div align="center">Zaslat fakturu na email?</div><br><br>
      <input type="radio" name="odeslatemail" value="ne">Ne<br>
      <input type="radio" name="odeslatemail" value="ano">Ano<br>
      <center>Captcha kód</center><br>
      <input name="spam" size="25"> <strong>= 1 + 1</strong><br>
      <input type="submit" value="Odeslat">     
    </form>

Kód: Vybrat vše

<?php
$nick = $_POST['nick'];
$email = $_POST['email'];
$kod1 = $_POST['kod1'];
$kod2 = $_POST['kod2'];
$kod3 = $_POST['kod3'];
$kod4 = $_POST['kod4'];
$zprava = $_POST['zprava'];
$spam = $_POST['spam'];
$vybervip = $_POST['vybervip'];
$odeslatemail = $_POST['odeslatemail'];
$emailwoblexu = "podpora@woblex.cz";
$obsahobjednavka = "Dobrý den,\nVaše objednávka byla úspěšně přijata ke zpracování. Premium účet získáte nejpozději do 48 hodin od objednání.\n\nUvedené údaje\n\nNick: ".$nick."\nE-mail: ".$email."\nDruh premium účtu: ".$vybervip."\n\nPokud po 48 hodinách nezískáte Vámi objednaný premium účet a jste si jisti že jste uvedli správně PaySafeCard kód, kontaktujte nás prosím na emailu podpora@woblex.cz.\n\nTým Woblexu Vám přeje příjemný den!";
$obsah = "Hráč s jménem $nick si chce zakoupit premium účet s názvem: $vybervip\n\nÚdaje hráče $nick\n\nNick: ".$nick."\nE-mail: ".$email."\nDruh premium účtu: ".$vybervip."\nPaySafeCard kód: ".$kod1.$kod2.$kod3.$kod4."\nDodatečná zpráva: ".$zprava."\nOdeslán email uživateli: ".$odeslatemail."\n";


 if ($nick!="" and (ereg("^.+@.+\\..+$", $email)) and $vybervip!="" and (ereg('([0-9]+[0-9]+[0-9]+[0-9])$', $kod1)) and (ereg('([0-9]+[0-9]+[0-9]+[0-9])$', $kod2)) and (ereg('([0-9]+[0-9]+[0-9]+[0-9])$', $kod3)) and (ereg('([0-9]+[0-9]+[0-9]+[0-9])$', $kod4)) and $spam=="2" and $odeslatemail)
 {
 Mail("MrFiliper@woblex.cz", "Premium - " . $nick, $obsah, "From: " . $email);
 echo "Váše obejdnávka byla zařazena do pořadí, vyčkejte prosím na její vyřízení. Objednávka je vyřízena nejpozději do 48 hodin.<br>";
 }
 else
 {
 echo "Vaše objednávka nebyla úspěšně dokončena, je nutné vyplnit všechny povinné údaje.<br>";
 }
 if ($odeslatemail == "ano")
 {
 Mail("$email", "Woblex | Objednávka", $obsahobjednavka, "From: Platby | Woblex <platby@woblex.cz>");
 echo "Kopie Vaší objednávky byla úspěšně zaslána na uvedený email.";
 }

 if (empty($nick))
 echo "Nevyplnili jste Váš nick!<br>";

 if (empty($email))
 echo "Nevyplnili jste Vaší emailovou adresu!<br>";
 
 if (!ereg("^.+@.+\\..+$", $email))
 echo "Zadali jste špatný formát emailové adresy!<br>";
 
 if (empty($vybervip))
 echo "Nevybrali jste druh premium účtu!<br>";
 
 if ((!ereg('([0-9]+[0-9]+[0-9]+[0-9])$', $kod1)) or (!ereg('([0-9]+[0-9]+[0-9]+[0-9])$', $kod2)) or (!ereg('([0-9]+[0-9]+[0-9]+[0-9])$', $kod3)) or (!ereg('([0-9]+[0-9]+[0-9]+[0-9])$', $kod4)))
 {
 echo "PaySafeCard kód je neplatný! Pokuste se najít chybu v kódu.<br>";
 }
 
 if ($spam!=="2")
 echo "Špatě jste spočetli captcha kód!<br>";
 
 if (empty($odeslatemail))
 echo "Nevybrali jste zda-li chcete odeslat fakturu na email!<br>"; 
?>


Není ještě hotový, ale jde mi opravdu jen o to proč se to nechce odesílat... Díky za rady!

Re: PHP formulář

Napsal: 20 bře 2015 23:43
od jerabina
Ahoj, nějakou chybovou hlášku to vypisuje, nebo to jen nic neudělá?

Re: PHP formulář

Napsal: 20 bře 2015 23:48
od MrFiliper
6ádnou chybovou hlášku to nevypíše. Jen to že jsme nevyplnil Nick, Email apod. i když je vyplněné. Můžete se i podívat a vyzkoušet zde: http://woblex.cz/paysafecard ale jak říkám jde jen o formulář není dodělaný design.

Re: PHP formulář

Napsal: 21 bře 2015 00:12
od SoNyX
Počkat počkat, od kdy se píše v podmínkách s více kritériemi "and" či "or" ? Nějákou dobu sem v tom nedělal, ale v PHP to fungovalo s && a ||, jestli se nepletu. To je tak první věc, které jsem si všimnul.

Re: PHP formulář

Napsal: 21 bře 2015 08:35
od Levin
Je možno používat oba způsoby logických operátorů. Nemáš případně zálohovanou starou verzi se kterou to fungovalo?

Re: PHP formulář

Napsal: 23 bře 2015 10:44
od CZechBoY
Stránka neexistuje, vyřešeno?

Re: PHP formulář

Napsal: 25 bře 2015 21:19
od MrFiliper
Ano, již je vše vyřešeno. Byla chyba v nastavení .htaccess souboru kde bylo nastaveno že se všechny soubory s koncovkou .php přemění na soubory bez přípony (například /test.php se přěmenilo na /test). Script se pak odkazoval na právě tuto adresu ale proměnná POST to nebrala.