PHP formulář

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

MrFiliper
Level 1
Level 1
Příspěvky: 63
Registrován: březen 15
Pohlaví: Muž
Stav:
Offline

PHP formulář

Příspěvekod MrFiliper » 20 bře 2015 22:56

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!

Reklama
Uživatelský avatar
jerabina
člen Security týmu
Level 6
Level 6
Příspěvky: 3647
Registrován: březen 13
Bydliště: Litoměřice
Pohlaví: Muž
Stav:
Offline

Re: PHP formulář

Příspěvekod jerabina » 20 bře 2015 23:43

Ahoj, nějakou chybovou hlášku to vypisuje, nebo to jen nic neudělá?
Když nevíš jak dál, přichází na řadu prostudovat manuál!
HJT návod

Pokud neodpovídám do vašich témat v sekci HJT když jsem online, tak je to jen proto, že jsem na mobilu kde je studování logů a psaní skriptů nemožné. Neberte to tedy prosím jako ignoraci.

MrFiliper
Level 1
Level 1
Příspěvky: 63
Registrován: březen 15
Pohlaví: Muž
Stav:
Offline

Re: PHP formulář

Příspěvekod MrFiliper » 20 bře 2015 23:48

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.

Uživatelský avatar
SoNyX
Level 3
Level 3
Příspěvky: 598
Registrován: červenec 09
Pohlaví: Muž
Stav:
Offline

Re: PHP formulář

Příspěvekod SoNyX » 21 bře 2015 00:12

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.
MB: Asus ROG Maximus VIII Ranger | CPU: i5-6600k | CPU Cooler: Noctua NH-U12S | GPU: MSI GTX 1070 Gaming X 8G
RAM: Kingston HyperX Fury Black 16GB DDR4 | SSD: Corsair MX100 256GB | HDD: 2x Seagate Barracuda 7200.14 1TB
PSU: Corsair RMx Series RM650x | CASE: FD Define R4 BP w/ window



My Steam Profile (from SteamDB)

  • Worth: $8950 ($2776 with sales)
  • Games owned: 501
  • Games played: 146 (29%)
  • Hours on record: 5,172.1h

Levin
Level 1.5
Level 1.5
Příspěvky: 139
Registrován: leden 15
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Re: PHP formulář

Příspěvekod Levin » 21 bře 2015 08:35

Je možno používat oba způsoby logických operátorů. Nemáš případně zálohovanou starou verzi se kterou to fungovalo?
Procesor: Intel i7 6700K 4.0GHz
Deska: ASROCK Z170 EXTREME4
Chladič: NOCTUA NH-U12S
RAM: Corsair 16GB KIT DDR4 2400MHz CL14 Vengeance LPX
Disk: Intel 535 240GB SSD
Zdroj: EVGA SuperNOVA 550 G3
Skříň: Fractal Design Define R4 Arctic White - Window

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP formulář

Příspěvekod CZechBoY » 23 bře 2015 10:44

Stránka neexistuje, vyřešeno?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

MrFiliper
Level 1
Level 1
Příspěvky: 63
Registrován: březen 15
Pohlaví: Muž
Stav:
Offline

Re: PHP formulář

Příspěvekod MrFiliper » 25 bře 2015 21:19

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.


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů