Aller au contenu

loulou74

Membre
  • Compteur de contenus

    4
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre
  1. loulou74

    Créer un formulaire de contact php anti-spam (captcha)

    Bonjour,Je viens de parcourir ce post avec beaucoup d'intéret, et j'ai suivi les indications de alphega et dorjee pour mettre en place le script et rajouter des champs de saisie.J'ai uploadé antispam.php au meme endroit que mon formulaire, mais malheureusement j'obtiens un message d'erreur: Ou est le binz dans mon code?????? [edit modérateur]Code supprimé : illisible[/edit] oups,ça y est, mon mail n'était pas valide..... désolé, je
  2. loulou74

    codage requete PHP pour boutique osc

    C'est sur... Je te donne le source de shopping_cart.php, excuse moi il est un peu long...mais je pense que ça te permet de tout voir. 3 tables sont utilisées pour less options par cette page: La table qui contient la valeur des options s'appelle: TABLE_PRODUCTS_OPTIONS_VALUES et comporte les colonnes: products_options_values_id language_id products_options_values_name C'est dans cette dernière colonne que sont reprises toutes les dates de tous les séjours TABLE_PRODUCTS_OPTIONS comporte les colonnes: products_options_id language_id products_options_name Ici, une seule option id=1, un seul langage=2 et donc un seul nom d'option: Dates TABLE_PRODUCTS_ATTRIBUTES comporte les colonnes: donc là on voit que le produit à l'id 39 présente 3 choix de dates possibles pour le début du sejour. Si options_values_id N°3 est le 22 juin 2008, cette date de début de séjour est possible pour le sejour 39 et pour le sejour 36. Voilà, qu'est ce que je pourrais te donner pour etre plus complet...? un sincère merci pour ton aide dans ma requete. SOURCE SHOPPING CART <?php /* $Id: shopping_cart.php,v 1.73 2003/06/09 23:03:56 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url] Copyright © 2003 osCommerce Released under the GNU General Public License */ require("includes/application_top.php"); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_SHOPPING_CART); $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_SHOPPING_CART)); ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title><?php echo TITLE; ?></title> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <style type="text/css"> <!-- --> </style></head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <div align="center"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> </div> <table width="925" border="0" align="center" cellpadding="3" cellspacing="3" bgcolor="#FFFFFF" class="bordertableau"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top" class="backgroundmenu"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_SHOPPING_CART, 'action=update_product')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td class="pageHeading" align="right"></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php if ($cart->count_contents() > 0) { ?> <tr> <td> <?php $info_box_contents = array(); $info_box_contents[0][] = array('align' => 'center', 'params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_REMOVE); $info_box_contents[0][] = array('params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_PRODUCTS); $info_box_contents[0][] = array('align' => 'center', 'params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_QUANTITY); $info_box_contents[0][] = array('align' => 'right', 'params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_TOTAL); $any_out_of_stock = 0; $products = $cart->get_products(); for ($i=0, $n=sizeof($products); $i<$n; $i++) { // Push all attributes information in an array if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) { while (list($option, $value) = each($products[$i]['attributes'])) { echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . $option . ']', $value); $attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . (int)$products[$i]['id'] . "' and pa.options_id = '" . (int)$option . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . (int)$value . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . (int)$languages_id . "' and poval.language_id = '" . (int)$languages_id . "'"); $attributes_values = tep_db_fetch_array($attributes); $products[$i][$option]['products_options_name'] = $attributes_values['products_options_name']; $products[$i][$option]['options_values_id'] = $value; $products[$i][$option]['products_options_values_name'] = $attributes_values['products_options_values_name']; $products[$i][$option]['options_values_price'] = $attributes_values['options_values_price']; $products[$i][$option]['price_prefix'] = $attributes_values['price_prefix']; } } } for ($i=0, $n=sizeof($products); $i<$n; $i++) { if (($i/2) == floor($i/2)) { $info_box_contents[] = array('params' => 'class="productListing-even"'); } else { $info_box_contents[] = array('params' => 'class="productListing-odd"'); } $cur_row = sizeof($info_box_contents) - 1; $info_box_contents[$cur_row][] = array('align' => 'center', 'params' => 'class="productListing-data" valign="top"', 'text' => tep_draw_checkbox_field('cart_delete[]', $products[$i]['id'],'','class="input_2"')); $products_name = '<table border="0" cellspacing="2" cellpadding="2">' . ' <tr>' . ' <td class="img" align="center"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">' . tep_image(DIR_WS_IMAGES . $products[$i]['image'], $products[$i]['name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td>' . ' <td class="productListing-data" valign="top"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '"><b>' . $products[$i]['name'] . '</b></a>'; if (STOCK_CHECK == 'true') { $stock_check = tep_check_stock($products[$i]['id'], $products[$i]['quantity']); if (tep_not_null($stock_check)) { $any_out_of_stock = 1; $products_name .= $stock_check; } } if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) { reset($products[$i]['attributes']); while (list($option, $value) = each($products[$i]['attributes'])) { $products_name .= '<br><small><i> - ' . $products[$i][$option]['products_options_name'] . ' ' . $products[$i][$option]['products_options_values_name'] . '</i></small>'; } } $products_name .= ' </td>' . ' </tr>' . '</table>'; $info_box_contents[$cur_row][] = array('params' => 'class="productListing-data"', 'text' => $products_name); $info_box_contents[$cur_row][] = array('align' => 'center', 'params' => 'class="productListing-data" valign="top"', 'text' => tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4"') . tep_draw_hidden_field('products_id[]', $products[$i]['id'])); $info_box_contents[$cur_row][] = array('align' => 'right', 'params' => 'class="productListing-data" valign="top"', 'text' => '<b>' . $currencies->display_price($products[$i]['final_price'], tep_get_tax_rate($products[$i]['tax_class_id']), $products[$i]['quantity']) . '</b>'); } ?> <table cellpadding="0" cellspacing="0" border="0" width="100%" class="TEXTAREA"><!--OU BORDERTABLEAU --> <tr><td> <table cellpadding="0" cellspacing="0" border="0" width="100%" style="height:44px;" class="table_3_1"> <tr> <td width="80" align="center" style=" vertical-align:middle; " height="44"><i><?=TABLE_HEADING_REMOVE?></i></td> <td width="249" align="center" style=" vertical-align:middle; "><i><?=TABLE_HEADING_PRODUCTS?></i></td> <td width="71" align="center" style=" vertical-align:middle; "><i><?=TABLE_HEADING_QUANTITY?></i></td> <td width="89" align="center" style=" vertical-align:middle; "><i><?=TABLE_HEADING_TOTAL?></i></td> </tr> <tr> <td style="background-color:#ffffff;"><?php echo tep_draw_separator('spacer.gif', '1', '1'); ?></td> <td style="background-color:#ffffff;"><?php echo tep_draw_separator('spacer.gif', '1', '1'); ?></td> <td style="background-color:#ffffff;"><?php echo tep_draw_separator('spacer.gif', '1', '1'); ?></td> <td style="background-color:#ffffff;"><?php echo tep_draw_separator('spacer.gif', '1', '1'); ?></td> </tr> <? for ($i=1;$i<count($info_box_contents);$i++) { $rowline=$info_box_contents[$i]; $product_query = tep_db_query("select products_description from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$products[$i-1]['id'] . "' and language_id = '" . (int)$languages_id . "'"); $product = tep_db_fetch_array($product_query); $description=$product['products_description']; ?> <tr> <td align="center" height="106"><br/><?=$rowline[0]['text']?><input type="hidden" name="products_id[]" value="<?=$products[$i-1]['id']?>"/></td> <td style=" vertical-align:top; padding:5px;text-align:justify;"><br/><div style="text-align:center;"><?=$rowline[1]['text']?></div><!-- php?=$description?>--></td> <td align="center"><br/><input type="text" name="cart_quantity[]" class="input_3" value="<?=$products[$i-1]['quantity']?>"></td> <td align="center" style="padding:9px 0px 0px 0px; "><br/><?=$rowline[3]['text']?></td> </tr> <? } ?> <? // new productListingBox($info_box_contents); ?> </table> </td></tr> <tr> <td></td> </tr> </table> </td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php if ($any_out_of_stock == 1) { if (STOCK_ALLOW_CHECKOUT == 'true') { ?> <tr> <td class="stockWarning" align="center"><br> <?php echo OUT_OF_STOCK_CAN_CHECKOUT; ?></td> </tr> <?php } else { ?> <tr> <td class="stockWarning" align="center"><br><?php echo OUT_OF_STOCK_CANT_CHECKOUT; ?></td> </tr> <?php } } ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="4" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main"><?php echo tep_image_submit('button_update_cart.gif', IMAGE_BUTTON_UPDATE_CART); ?></td> <?php $back = sizeof($navigation->path)-2; if (isset($navigation->path[$back])) { ?> <td class="main"><?php echo '<a href="' . tep_href_link($navigation->path[$back]['page'], tep_array_to_string($navigation->path[$back]['get'], array('action')), $navigation->path[$back]['mode']) . '">' . tep_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING) . '</a>'; ?></td> <?php } ?> <td align="right" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '">' . tep_image_button('button_checkout.gif', IMAGE_BUTTON_CHECKOUT) . '</a>'; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php } else { ?> <tr> <td align="center" class="main"><?php new infoBox(array(array('text' => TEXT_CART_EMPTY))); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="80%" cellspacing="1" cellpadding="2"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td align="right" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php } ?> </table> </form></td> <!-- body_text_eof //--> <td width="30" valign="top"> <table border="0" width="30" cellspacing="0" cellpadding="2"> <!-- right_navigation <?php //require(DIR_WS_INCLUDES . 'column_right.php'); ?> right_navigation_eof //--> </table></td> </tr> </table> <div align="center"> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> </div> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
  3. loulou74

    codage requete PHP pour boutique osc

    Salut Sarc, et merci pour ta réponse! La variable $timestamp c'est la date d'achat de mon client, donc toujours la date d'aujourd'hui par définition, c'est pour ça que j'ai utilisé mktime() pour cette variable Je pense que la logique de calcul de jours est bonne, mais à mon avis c'est la définition de ma variable $timestamp2 qui met le souk, je pense que je ne vais pas correctement la chercher Pour le format, comme je suis en format DATE sous MySql, a priori le format AAAA-MM-JJ est respecté si je ne me trompe pas. Qu'en penses tu? tu pourrais éventuellement m'aider à définir cette variable $timestamp2 stp? Merci beaucoup pour ton coup de pouce!
  4. loulou74

    codage requete PHP pour boutique osc

    Bonjour à tous, J'espère être au bon endroit dans le forum pour poster ce message. Je travaille actuellement sur une boutique de vente de séjours osc avec paiement par CB. 3 types de paiement sont possibles: en 1 fois, 2 fois, 3 fois. Le paiement en 1 fois est toujours possible, en 2 fois si l'achat du séjour est fait de 30 à 60 jours avant, en 3 fois si l'achat a lieu 60+ jours avant. Le client choisit sa date comme une option dans un menu déroulant. Les options sont présentes en format DATE en tant que products_options_values_name dans la TABLE_PRODUCTS_OPTIONS_VALUES. La date choisie par le client est reprise dans son panier par ce code (si j'ai bien compris): if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) { reset($products[$i]['attributes']); while (list($option, $value) = each($products[$i]['attributes'])) { $products_name .= '<br><small><i> - ' . $products[$i][$option]['products_options_name'] . ' ' . $products[$i][$option]['products_options_values_name'] . '</i></small>'; } } J'ai besoin de connaitre le nombre de jours entre la date d'achat (=aujourd'hui) et la date de début de séjour choisie par le client et je ne sais pas comment coder ça, en particulier comment aller chercher puis transformer la date choisie en variable. J'ai fait plein d'essais de code mais ils ne marchent pas, par exemple ça: // Paiement pour séjour réservé 60 jours ou plus à l'avance $timestamp = mktime(); $timestamp2 = $order->info['products_options_values_name']; // différence $diff = $timestamp2 - $timestamp; $ecart_jours = floor($diff /86400); if ($ecart_jours > 59) { $this->enabled = MODULE_PAYMENT_ATOS3FOIS_STATUS == 'True' ? true : false;; } Je fais cette boutique pour aider quelqu'un, mais je ne suis pas développeur pro, alors votre aide est vraiment bienvenue, je galère carrément là... Merci!
×