Zadejte hledaný výraz...

Objednávka – Problém

GetroXer
verified
rating uzivatele
21. 7. 2012 18:09:13
Dobrý deň, mám naprogramovaný kód na odoslanie e-mailu, a zápis do databáze. Problem je že neviem kde je chyba. Po tuknutí na tlačitko odoslať mi to len obnovy stránku a neodošle e-mail, nevypíše či je úspešna objednávka a aka je chyba.
Kód :
Objednávka
if(isset($_POST))
{
$meno = trim(htmlspecialchars(mysql_real_escape_string($_POST)));
$email = trim(htmlspecialchars(mysql_real_escape_string($_POST)));
$heslo = $gen;
if(check_email($email))
{
if($meno != "" && $email != "")
{
if(AddUser($meno, $heslo, $email, $credit) == true)
{
PostMail("$email", "Craft-Hosting.SK - Objednávka", "Vážený zákazník, nnďakujeme Vám za objednávku. nnAdministracia: $url_defnPrihlasovací e-mail: $emailnHeslo: $heslonnĎakujeme Vám a prajeme vám pekný zvišok dňa.", "$od_def");
Ok("Objednávka prebehla úspešne, môžte sa prihlásiť.");
} else { Chyba("Objednávka sa nezdarila, chyba bude niekde v systéme!"); }
} else { Chyba("Musíte vyplniť všetký políčka!"); }
}
}
function Random_Password($delka_hesla = 9) {
$mozne_znaky = 'abcdefghijkmnpqrstuvwx23456789ABCDEFGHIJKMNPQRSTUVWX';
$gen = '';
$pocet_moznych_znaku = strlen($mozne_znaky);
for ($i=0;$i<$delka_hesla;$i++) {
$gen .= $mozne_znaky;
}
return $gen;
}
?>
Funkcie:
-AddUser function AddUser($meno, $heslo, $email, $credit_def)
{
if(mysql_query("INSERT INTO `craft`.`users` (`id` ,`meno` ,`heslo` ,`email` ,`credit`)VALUES (NULL , '$meno', '$heslo', '$email', '$credit_def');"))
{
return true;
} else { return false; }
}
-check_email function check_email($email)
{
$atom = '';
$domain = '({0,61})';
return eregi("^$atom+(\.$atom+)*@($domain?\.)+$domain$", $email);
}
-PostMail function PostMail($to, $subject = '(No subject)', $message = '', $from)
{
$header = 'MIME-Version: 1.0' . "n" . 'Content-type: text/plain; charset=UTF-8'
. "n" . 'From: <' . $from . ">n";
mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header);
}
Ešte mám aj includnuté nastavenia.
Neviete v čom je chyba ? Dakujem
21. 7. 2012 18:09:13
https://webtrh.cz/diskuse/objednavka-problem/#reply787386
Za kazdou podminku IF si vloz vypis nejakeho textu pomoci echo, tak se dozvis, na jake podmince to nevyhovuje, pak zacni kontrolnimi vypisy resit proc
A jen mala drobnost, kdyz kontrolujes email pomoci eregi, je zbytecne v dalsi podmince psat $email != ""
21. 7. 2012 18:13:48
https://webtrh.cz/diskuse/objednavka-problem/#reply787385
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
21. 7. 2012 18:20:29
Pokud máš PHP 5.3, tak je problém na 98% v eregi. Nahraď to preg_match
21. 7. 2012 18:20:29
https://webtrh.cz/diskuse/objednavka-problem/#reply787384
GetroXer
verified
rating uzivatele
21. 7. 2012 18:21:55
Dakujem za odpovede skúsim a dam vedieť
21. 7. 2012 18:21:55
https://webtrh.cz/diskuse/objednavka-problem/#reply787383
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
21. 7. 2012 18:23:30
Napsal GetroXer;821761
Dakujem za odpovede skúsim a dam vedieť
a nezapomeň dát preg_match("/^$atom+(\.$atom+)*@($domain?\.)+$domain$/i".....
21. 7. 2012 18:23:30
https://webtrh.cz/diskuse/objednavka-problem/#reply787382
GetroXer
verified
rating uzivatele
21. 7. 2012 18:28:55
Táto chyba mi vybehla po úprave eregi na preg_match.
Kód je
//edit Pardon, nevidel som odpoveď. Skúsim
//edit2 Teraz mi to píše
21. 7. 2012 18:28:55
https://webtrh.cz/diskuse/objednavka-problem/#reply787381
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
21. 7. 2012 18:37:06
protože tam máš chyby. nahraď to tímto
return preg_match("/iw*w.?@w*w.w{2,4}/i", $email);
21. 7. 2012 18:37:06
https://webtrh.cz/diskuse/objednavka-problem/#reply787380
GetroXer
verified
rating uzivatele
21. 7. 2012 18:41:42
Ták, jedna chybyčka je preč. No jeden Warrning furt vypisuje
Jedná sa o email_not ktorý má vypísať chybu ked je už email použitý. Len to niak hádže Warrning
21. 7. 2012 18:41:42
https://webtrh.cz/diskuse/objednavka-problem/#reply787379
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
21. 7. 2012 18:47:27
když ten email přešrotíš přes trim(htmlspecialchars(mysql_real_escape_string($_POST))); a pak ho čekuješ, tak se nediv, že to hází nesmysly. co to dělá bez jen pro čisté $_POST ?
21. 7. 2012 18:47:27
https://webtrh.cz/diskuse/objednavka-problem/#reply787378
GetroXer
verified
rating uzivatele
21. 7. 2012 18:49:42
Vyhadzuje to "Zadajte e-mail v správnom tvare!"
21. 7. 2012 18:49:42
https://webtrh.cz/diskuse/objednavka-problem/#reply787377
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
21. 7. 2012 18:51:33
řekl bych, že jsi nám poslal jiný kód než chceš opravit.
21. 7. 2012 18:51:33
https://webtrh.cz/diskuse/objednavka-problem/#reply787376
GetroXer
verified
rating uzivatele
21. 7. 2012 18:54:15
Aha, neni tam uvedení. Kód je
21. 7. 2012 18:54:15
https://webtrh.cz/diskuse/objednavka-problem/#reply787375
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
21. 7. 2012 18:56:30
hele. pošli buď celý kód, klidně do PM, ale takto po kouskách si s tím hrát nebudu.
21. 7. 2012 18:56:30
https://webtrh.cz/diskuse/objednavka-problem/#reply787374
GetroXer
verified
rating uzivatele
21. 7. 2012 18:58:17
Neni to kúsok.
21. 7. 2012 18:58:17
https://webtrh.cz/diskuse/objednavka-problem/#reply787373
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
21. 7. 2012 19:10:41
tak problém č.2
dej jen
$meno = trim(htmlspecialchars(($_POST)));
$email = trim(htmlspecialchars(($_POST)));
problém č.1
tady chybí "rovná se"
21. 7. 2012 19:10:41
https://webtrh.cz/diskuse/objednavka-problem/#reply787372
Pro odpověď se přihlašte.
Přihlásit