Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Gotowe rozwiązania _ newsletter - problem z zapisaniem do bazy

Napisany przez: traczu1985 26.08.2019, 17:41:09

Jeśli nie ten dział to proszę moderatorów o przesunięcie do innego

Mam gotową stronę ze starym skryptem wyglądowo jest ok ale nie funkcjonuje zapisywanie do bazy.

Nie bardzo wiem gdzie szukać przyczyny po za tym że index jest w html

jest to formularz ,który ma tylko zapisać lub wypisać z bazy.

  1. <!DOCTYPE html>
  2. <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
  3. <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
  4. <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
  5. <!--[if gt IE 8]><!--> <http://december.com/html/4/element/html.html class="no-js"> <!--<![endif]-->
  6. <http://december.com/html/4/element/head.html>
  7. <http://december.com/html/4/element/meta.html charset="utf-8">
  8. <http://december.com/html/4/element/meta.html http-equiv="X-UA-Compatible" content="IE=edge">
  9. <http://december.com/html/4/element/title.html>Zapisz się i zgarnij LODA Proteinowego</http://december.com/html/4/element/title.html>
  10. <http://december.com/html/4/element/meta.html name="description" content="">
  11. <http://december.com/html/4/element/meta.html name="viewport" content="width=device-width, initial-scale=1">
  12.  
  13. <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
  14.  
  15. <http://december.com/html/4/element/link.html rel="stylesheet" href="css/normalize.css">
  16. <http://december.com/html/4/element/link.html rel="stylesheet" href="css/main.css">
  17. <http://december.com/html/4/element/link.html href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,700,800' rel='stylesheet' type='text/css'>
  18. <http://december.com/html/4/element/link.html href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
  19. <http://december.com/html/4/element/script.html src="js/vendor/modernizr-2.6.2.min.js"></http://december.com/html/4/element/script.html>
  20. </http://december.com/html/4/element/head.html>
  21. <http://december.com/html/4/element/body.html>
  22. <!--[if lt IE 7]>
  23. <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
  24. <![endif]-->
  25.  
  26. <!-- Add your site or application content here -->
  27. <http://december.com/html/4/element/form.html id="subscribe-form" class="subscribe-form hide">
  28. <http://december.com/html/4/element/div.html class="form-title">Zapisz się i zgarnij Loda Proteinowego</http://december.com/html/4/element/div.html>
  29. <http://december.com/html/4/element/hr.html>
  30. <http://december.com/html/4/element/div.html class="form-loading hide"><http://december.com/html/4/element/i.html class="fa fa-circle-o-notch fa-spin"></http://december.com/html/4/element/i.html></http://december.com/html/4/element/div.html>
  31. <http://december.com/html/4/element/div.html class="form-message hide">
  32. Dzięki teraz zgłoś się po LODA !</http://december.com/html/4/element/div.html>
  33. <http://december.com/html/4/element/div.html class="form-content">
  34. <http://december.com/html/4/element/div.html class="group">
  35. <http://december.com/html/4/element/label.html for="email">Twój adres email</http://december.com/html/4/element/label.html>
  36. <http://december.com/html/4/element/div.html class="input-prefix">
  37. <http://december.com/html/4/element/i.html class="fa fa-user"></http://december.com/html/4/element/i.html>
  38. <http://december.com/html/4/element/input.html id="email" name="email" class="form-control" type="email" placeholder="Your email">
  39. </http://december.com/html/4/element/div.html>
  40. </http://december.com/html/4/element/div.html>
  41. <http://december.com/html/4/element/div.html class="group">
  42. <http://december.com/html/4/element/label.html for="name">Twoje imię</http://december.com/html/4/element/label.html>
  43. <http://december.com/html/4/element/div.html class="input-prefix">
  44. <http://december.com/html/4/element/i.html class="fa fa-envelope"></http://december.com/html/4/element/i.html>
  45. <http://december.com/html/4/element/input.html id="name" name="name" class="form-control" type="text" placeholder="Your name">
  46. </http://december.com/html/4/element/div.html>
  47. </http://december.com/html/4/element/div.html>
  48. <http://december.com/html/4/element/div.html class="group group-submit">
  49. <http://december.com/html/4/element/label.html class="empty"></http://december.com/html/4/element/label.html>
  50. <http://december.com/html/4/element/div.html align="right"><http://december.com/html/4/element/button.html class="btn-submit" type="submit">Zapisz się</http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html>
  51. </http://december.com/html/4/element/div.html>
  52. </http://december.com/html/4/element/div.html>
  53. <http://december.com/html/4/element/div.html class="form-footer">
  54. <http://december.com/html/4/element/a.html class="btn" data-toggle="unsubscribe" href="#">Wypisz się</http://december.com/html/4/element/a.html>
  55. </http://december.com/html/4/element/div.html>
  56. <http://december.com/html/4/element/input.html type="hidden" name="action" value="subscribe">
  57. </http://december.com/html/4/element/form.html>
  58.  
  59. <http://december.com/html/4/element/form.html id="unsubscribe-form" class="subscribe-form hide">
  60. <http://december.com/html/4/element/div.html class="form-title unsubscribe">Unsubscribe from our newsletter</http://december.com/html/4/element/div.html>
  61. <http://december.com/html/4/element/hr.html>
  62. <http://december.com/html/4/element/div.html class="form-loading hide"><http://december.com/html/4/element/i.html class="fa fa-circle-o-notch fa-spin"></http://december.com/html/4/element/i.html></http://december.com/html/4/element/div.html>
  63. <http://december.com/html/4/element/div.html class="form-message hide">
  64. You've been unsubscribed.</http://december.com/html/4/element/div.html>
  65. <http://december.com/html/4/element/div.html class="form-content">
  66. <http://december.com/html/4/element/div.html class="group">
  67. <http://december.com/html/4/element/label.html for="unsubscribe_email">Your email</http://december.com/html/4/element/label.html>
  68. <http://december.com/html/4/element/div.html class="input-prefix">
  69. <http://december.com/html/4/element/i.html class="fa fa-user"></http://december.com/html/4/element/i.html>
  70. <http://december.com/html/4/element/input.html id="unsubscribe_email" name="unsubscribe_email" class="form-control" type="email" placeholder="Your email">
  71. </http://december.com/html/4/element/div.html>
  72. </http://december.com/html/4/element/div.html>
  73. <http://december.com/html/4/element/div.html class="group">
  74. <http://december.com/html/4/element/label.html class="empty"></http://december.com/html/4/element/label.html>
  75. <http://december.com/html/4/element/div.html>
  76. <http://december.com/html/4/element/input.html id="confirm" type="checkbox" name="confirm" value="T">
  77. <http://december.com/html/4/element/label.html for="confirm">Click to confirm you want to unsubscribe</http://december.com/html/4/element/label.html>
  78. </http://december.com/html/4/element/div.html>
  79. </http://december.com/html/4/element/div.html>
  80. <http://december.com/html/4/element/div.html class="group group-submit">
  81. <http://december.com/html/4/element/label.html class="empty"></http://december.com/html/4/element/label.html>
  82. <http://december.com/html/4/element/div.html align="right"><http://december.com/html/4/element/button.html class="btn-submit" type="submit">Unsubscribe</http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html>
  83. </http://december.com/html/4/element/div.html>
  84. </http://december.com/html/4/element/div.html>
  85. <http://december.com/html/4/element/div.html class="form-footer">
  86. <http://december.com/html/4/element/a.html class="btn" data-toggle="subscribe" href="#">Subscribe</http://december.com/html/4/element/a.html>
  87. </http://december.com/html/4/element/div.html>
  88. <http://december.com/html/4/element/input.html type="hidden" name="action" value="unsubscribe">
  89. </http://december.com/html/4/element/form.html>
  90.  
  91. <http://december.com/html/4/element/script.html src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></http://december.com/html/4/element/script.html>
  92. <http://december.com/html/4/element/script.html>window.jQuery || document.write('<http://december.com/html/4/element/script.html src="js/vendor/jquery-1.10.2.min.js"><\/script>')</http://december.com/html/4/element/script.html>
  93. <http://december.com/html/4/element/script.html src="js/plugins.js"></http://december.com/html/4/element/script.html>
  94. <http://december.com/html/4/element/script.html src="js/main.js"></http://december.com/html/4/element/script.html>
  95. </http://december.com/html/4/element/body.html>
  96. </http://december.com/html/4/element/html.html>




  1. CREATE TABLE IF NOT EXISTS `subscription_form` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `email` varchar(250) NOT NULL,
  4. `name` varchar(250) NOT NULL,
  5. `date_subscribe` datetime NOT NULL,
  6. `date_unsubscribe` datetime NOT NULL,
  7. `status` char(1) NOT NULL,
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


  1. # CONFIG
  2. http://www.php.net/define('_DB_HOST', 'xxxxxxxxxxxxxxx');
  3. http://www.php.net/define('_DB_NAME', 'xxxxxxxxxxxxxxx');
  4. http://www.php.net/define('_DB_USER', 'xxxxxxxxxxxxxxx');
  5. http://www.php.net/define('_DB_PASS', 'xxxxxxxxxxxxxxx');
  6.  
  7.  
  8. $subscribe = (http://www.php.net/isset($_POST['action']) && $_POST['action'] == 'unsubscribe')?false:true;
  9.  
  10. if ($subscribe){
  11. $fields = http://www.php.net/array(
  12. http://www.php.net/array('name' => 'email', 'valid' => http://www.php.net/array('require', 'email')),
  13. http://www.php.net/array('name' => 'name', 'valid' => http://www.php.net/array('require')),
  14. );
  15. }else{
  16. $fields = http://www.php.net/array(
  17. http://www.php.net/array('name' => 'unsubscribe_email', 'valid' => http://www.php.net/array('require', 'email')),
  18. http://www.php.net/array('name' => 'confirm', 'valid' => http://www.php.net/array('require'), 'err_message' => 'Please confirm'),
  19. );
  20. }
  21.  
  22. // Connect to database
  23. $connection = http://www.php.net/mysql_connect(_DB_HOST, _DB_USER, _DB_PASS) or http://www.php.net/die ('Unable to connect to MySQL server.<br ><br >Please make sure your MySQL login details are correct.');
  24. $db = http://www.php.net/mysql_select_db(_DB_NAME, $connection) or http://www.php.net/die ('request "Unable to select database."');
  25.  
  26. $error_fields = http://www.php.net/array();
  27. $get = http://www.php.net/array();
  28. foreach ($fields AS $field){
  29. $value = http://www.php.net/isset($_POST[$field['name']])?$_POST[$field['name']]:'';
  30. if (http://www.php.net/is_array($value)){
  31. $value = http://www.php.net/implode('/ ', $value);
  32. }
  33. if (http://www.php.net/get_magic_quotes_gpc()){
  34. $value = http://www.php.net/stripslashes($value);
  35. }
  36. $get[$field['name']] = http://www.php.net/mysql_real_escape_string($value);
  37. $is_valid = true;
  38. $err_message = '';
  39. if (!http://www.php.net/empty($field['valid'])){
  40. foreach ($field['valid'] AS $valid) {
  41. switch ($valid) {
  42. case 'require':
  43. $is_valid = $is_valid && http://www.php.net/strlen($value) > 0;
  44. $err_message = 'Field required';
  45. break;
  46. case 'email':
  47. $is_valid = $is_valid && http://www.php.net/preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", $value);
  48. $err_message = 'Email required';
  49. break;
  50. default:
  51. break;
  52. }
  53. }
  54. }
  55. if (!$is_valid){
  56. if (!http://www.php.net/empty($field['err_message'])){
  57. $err_message = $field['err_message'];
  58. }
  59. $error_fields[] = http://www.php.net/array('name' => $field['name'], 'message' => $err_message);
  60. }
  61. }
  62.  
  63. if (http://www.php.net/empty($error_fields)){
  64. if ($subscribe){
  65. $data = http://www.php.net/array(
  66. 'email' => "'".$get['email']."'",
  67. 'name' => "'".$get['name']."'",
  68. 'date_subscribe' => 'NOW()',
  69. 'status' => "'T'",
  70. );
  71. $sql = "REPLACE INTO subscription_form (`".http://www.php.net/implode("`, `", http://www.php.net/array_keys($data))."`) VALUES(".http://www.php.net/implode(", ", http://www.php.net/array_values($data)).")";
  72. }else{
  73. $sql = "UPDATE subscription_form SET date_unsubscribe = NOW(), status = 'F' WHERE email = '".$get['unsubscribe_email']."'";
  74. }
  75. if (!http://www.php.net/empty($sql)){
  76. $sql_result = http://www.php.net/mysql_query ($sql, $connection ) or http://www.php.net/die ('request "Could not execute SQL query" '.$sql);
  77. }
  78. http://www.php.net/echo (json_encode(http://www.php.net/array('code' => 'success')));
  79. }else{
  80. http://www.php.net/echo json_encode(http://www.php.net/array('code' => 'failed', 'fields' => $error_fields));
  81. }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)