Autor Zpráva
Adrián Prelovský
Profil
Zdravím, udělal jsem si kod na generování slevového kodu, ktery se vygeneruje a zapise do DB k vyplněnému Jménu a emailu.

Kod:
  <?php

//Total: keys = 32, elements = 33
$characters = array(
"A","B","C","D","E","F","G","H","J","K","L","M",
"N","P","Q","R","S","T","U","V","W","X","Y","Z",
"1","2","3","4","5","6","7","8","9");

//make an "empty container" or array for our keys
$keys = array();

//first count of $keys is empty so "1", remaining count is 1-7 = total 8 times
while(count($keys) < 8) {
    //"0" because we use this to FIND ARRAY KEYS which has a 0 value
    //"-1" because were only concerned of number of keys which is 32 not 33
    //count($characters) = 33
    $x = mt_rand(0, count($characters)-1);
    if(!in_array($x, $keys)) {
       $keys[] = $x;
    }
}

foreach($keys as $key){
   $random_chars .= $characters[$key];
}


?>
                                
                                
                                
    <form action="wp-content/plugins/displet-pop/odeslano.php" method="post">
Jmeno: <input type="text" name="jmeno">
Email: <input type="text" name="email">
<input type="hidden" value="<?php echo $random_chars; ?>" name="sleva">

<input type="submit" value="Odeslat">
</form>

soubor odeslano:

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf8">
</head>
<body>
<?php
$conn = mysql_connect("localhost","root","heslo");
mysql_query("SET NAMES 'utf8'");
mysql_select_db('wordpress', $conn);
if (!$conn)
  {
  die('Nemohu se pripojit k db: ' . mysql_error());
  }
mysql_select_db("cis_id", $conn);
$sql="INSERT INTO `wp_generator` (`jmeno`, `email`, `sleva`)
VALUES
('$_POST[jmeno]','$_POST[email]','$_POST[sleva]')";

if (!mysql_query($sql,$conn))
  {
  die('Chyba: ' . mysql_error());
  }
echo '<b>';
echo 'Byl vám odeslán e-mail';
echo '</b>';
?>
 
</body>
</html>

Ale nevím jak do odesílat maily tak aby se podle hodnoty email v MySQL přiřadil slevovy kod z MySQL u daného emailu.

Děkují za každou radu!

S pozdravem Prelovský Adrián
Keeehi
Profil
Vytvořil si odesílání emailu se stále stejným kódem (třeba xxx) a až ti to bude fungovat tak to xxx nahradíš $_POST["sleva"]

Víš že ten slevový kód jde zjistit ještě než se uloží do DB? Jestli ho potrebuješ tajně přenést mezi stránkami tak si ho ulož do SESSION. Nebo lépe bude, když ho budeš generovat v odeslano.php, to ho pak nemusíš přenášet vůbec.
Adrián Prelovský
Profil
Tak ted jsem úplně zmatený :D Za poslední dva dny jsem s tím vůbec nepohnul.
Keeehi
Profil
Značí tím, že budeš odesílat obyčejný email. Až ti to bude fungovat, značí zjišťovat, jak do toho emailu něco dynamicky přidávat. Nebo máš snad problém už s vytvořením obyčejného emailu?
Adrián Prelovský
Profil
Tak už jsem hotov, vše mi funguje, akorát se chci zeptat jestli by šlo pomocí EXIST zábranit tomu aby nemohl uživatel na jedno jméno a jednu emailovou adresu získat více slevových kuponu ?
Díky :)
Kcko
Profil
Adrián Prelovský:
A ptáš se jak to logicky vymyslet nebo Ti dělá problém kód; nebo obojí?
Adrián Prelovský
Profil
Jestli to je možné, na kod jsem se ještě nedíval, ale asi s tím budu mít problém.
Joker
Profil
Adrián Prelovský:
Jestli to je možné

Možné to určitě je. Například si do databáze uložíte mail, ten kód a stav.
Při dalším požadavku se podíváte, jestli tam je už nějaký existující záznam a případně vypíšete chybovou hlášku.
Jádrem toho by byl celkem obyčejný SELECT dotaz na ten mail a stavy, kde nechcete vydávat další kupón (například stav není „zrušený“ a podobně).

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: