Formulaire qui ne renvoie rien
Résolu
Nosferatu
-
Nosferatu -
Nosferatu -
Bonjour,
J'ai un petit soucis avec un petit formulaire que je cherche à intégrer à une page, en effet il ne renvoie rien, je débute en web le problème est sans doute simple mais et je ne comprends pas pourquoi cela ne fonctionne pas... Le problème est que $remise reste à 0% même lorsque j'entre quelque chose dans le formulaire et que je clique sur valider, merci de votre iade
J'ai un petit soucis avec un petit formulaire que je cherche à intégrer à une page, en effet il ne renvoie rien, je débute en web le problème est sans doute simple mais et je ne comprends pas pourquoi cela ne fonctionne pas... Le problème est que $remise reste à 0% même lorsque j'entre quelque chose dans le formulaire et que je clique sur valider, merci de votre iade
<?php
if (isset($_POST['code_promo']))
{
$remise = "10%";
}
else
{
$remise = "0%";
}
?>
<tr>
<td align="left">
<form action="shopping_cart.php" method="post" >
<p>
<label for="code_promo">Code promotionnel</label> :
<input type="text" name="code_promo" /><input type="submit" value="Valider" />
</p>
</form>
</td>
</tr>
<tr>
<td align="right" class="main">
<b><?php echo "Remise : "; ?><?php echo $remise; ?></b>
</td>
</tr>
A voir également:
- Formulaire qui ne renvoie rien
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Vers quelle adresse web renvoie ce lien - Guide
- Formulaire de reclamation instagram - Guide
- Renvoie d'appel ooredoo - Forum Samsung
11 réponses
Bonjour
$remise n'est pas dans le tableau $_POST et il ne faut jamais faire d'extract qui est une opération très dangereuse.
Ton formulaire marche... même s'il te manque les balises <table> et </table>.
Il donne toujours 10% de réduction, même si on laisse code_promo vide, mais c'est normal tel qu'il est écrit.
Le formulaire que tu montres est bien dans le fichier shopping_cart.php ?
Ça affiche Remise 0% ou rien du tout quand tu cliques sur valider ?
$remise n'est pas dans le tableau $_POST et il ne faut jamais faire d'extract qui est une opération très dangereuse.
Ton formulaire marche... même s'il te manque les balises <table> et </table>.
Il donne toujours 10% de réduction, même si on laisse code_promo vide, mais c'est normal tel qu'il est écrit.
Le formulaire que tu montres est bien dans le fichier shopping_cart.php ?
Ça affiche Remise 0% ou rien du tout quand tu cliques sur valider ?
Merci pour ces réponses rapides :)
Des balises <table></table> encadrent bel et bien tout le code que j'ai écrit, c'est juste qu'il y a du code entre deux et même entre ces lignes^^ et ce code est bien présent dans le fichier "shopping_cart.php"
J'obtiens toujours "Remise : 0%" quoi que je fasse
Sinon je n'ai pas bien compris comment placer cet extract j'ai écrit "if (isset(extract($_POST['code_promo'])))" mais j'ai tout de suite une erreur sur cette ligne
Des balises <table></table> encadrent bel et bien tout le code que j'ai écrit, c'est juste qu'il y a du code entre deux et même entre ces lignes^^ et ce code est bien présent dans le fichier "shopping_cart.php"
J'obtiens toujours "Remise : 0%" quoi que je fasse
Sinon je n'ai pas bien compris comment placer cet extract j'ai écrit "if (isset(extract($_POST['code_promo'])))" mais j'ai tout de suite une erreur sur cette ligne
il ne faut pas placer d'extract.
Tu dis qu'il y a bien <table> et </table> dans ton script, peux-tu le donner entièrement ? car c'est sûrement dans les lignes que tu ne montres pas qu'il y a un problème, j'ai copié-collé ton script chez moi et il a marché
Tu dis qu'il y a bien <table> et </table> dans ton script, peux-tu le donner entièrement ? car c'est sûrement dans les lignes que tu ne montres pas qu'il y a un problème, j'ai copié-collé ton script chez moi et il a marché
En effet en y regardant de plus près, il y a des tables un peu partout dans la page mais pas autour du code que j'ai écrit qui est pourtant présenté sous forme de tableau... ce n'est pas moi qui ai écrit cette page mais je dois y faire des modifs, je viens d'essayer de mettre tout le code qui ne l'est pas entre <table></table> seulement ça ne ressemble plus à rien après...
J'aimerais que vous voyez cette page mais elle fait presque 300 lignes :s
J'aimerais que vous voyez cette page mais elle fait presque 300 lignes :s
Voila pour le code de la page complete:
<table border="0" width="100%" cellspacing="3" cellpadding="3">
<tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="0">
<!-- 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"><?php //echo tep_image(DIR_WS_IMAGES . 'table_background_cart.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></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' => 'center',
'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 = '" . $products[$i]['id'] . "'
and pa.options_id = '" . $option . "'
and pa.options_id = popt.products_options_id
and pa.options_values_id = '" . $value . "'
and pa.options_values_id = poval.products_options_values_id
and popt.language_id = '" . $languages_id . "'
and poval.language_id = '" . $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']));
$products_name = '<table border="0" cellspacing="2" cellpadding="2">' .
' <tr>' .
' <td class="productListing-data" 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>');
}
new productListingBox($info_box_contents);
?>
</td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td align="left">
<form action="shopping_cart.php" method="post" >
<p>
<label for="code_promo">Code promotionnel</label> :
<input type="text" name="code_promo" /><input type="submit" value="Valider" />
</p>
</form>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td align="right" class="main">
<?php
if (isset($_POST['code_promo']))
{
$remise = "10%";
}
else
{
$remise = "0%";
}
?>
<b><?php echo "Remise : "; ?><?php echo $remise; ?></b>
</td>
</tr>
<tr>
<td align="right" class="main"><b><?php echo SUB_TITLE_SUB_TOTAL; ?> <?php echo $currencies->format($cart->show_total()); ?></b></td>
</tr>
<!--
<tr>
<td align="right"><?php echo $cart->show_total(); ?></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" class="infoBox">
<tr class="infoBoxContents">
<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 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>
<!-- DEBUT ESTIMATION DES FRAIS DE PORT -->
</form>
<tr>
<td><br><?php if (CARTSHIP_ONOFF == 'Enabled') { require(DIR_WS_MODULES . 'shipping_estimator.php'); } else {}; ?></td>
</tr>
<!-- FIN ESTIMATION DES FRAIS DE PORT -->
<?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="100%" cellspacing="1" cellpadding="2" class="infoBox">
<tr class="infoBoxContents">
<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="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="0">
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
</table></td>
</tr>
</table>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le code est encore incomplet... Dès le début tu utilises des constantes qui n'ont été définies nulle part avant : BOX_WIDTH,DIR_WS_INCLUDES. Mais passons.
Si tu ajoutes <?php var_dump($_POST) ?> au début de ton script (avant <table...), qu'est-ce que ça affiche après validation du formulaire ?
Si tu ajoutes <?php var_dump($_POST) ?> au début de ton script (avant <table...), qu'est-ce que ça affiche après validation du formulaire ?
inscrire "<?php var_dump($_POST) ?>" a affiché "array(0) { } " au dessus de tout
Voila la première partie manquante:
Voila la première partie manquante:
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=<?php echo CHARSET; ?>">
<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">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->
<!-- body //-->
C'est dingue ça ! pas moyen d'avoir la totalité, il manque forcément quelque chose avant le require.Au moins un <?php. Laisse tomber, on n' en a pas besoin,
<?php var_dump($_POST) ?>" a affiché "array(0) { } " au dessus de tout
C'est bien APRÈS avoir cliqué sur "valider" ?
Ça montre que ton formulaire ne renvoie rien
Et s'il ne renvoie rien c'est peut-être (? pas sûr) parce qu'il y a deux fermeture de formulaires </form> qui ne correspondent à aucune ouverture, en plus de la "bonne" </form>
<?php var_dump($_POST) ?>" a affiché "array(0) { } " au dessus de tout
C'est bien APRÈS avoir cliqué sur "valider" ?
Ça montre que ton formulaire ne renvoie rien
Et s'il ne renvoie rien c'est peut-être (? pas sûr) parce qu'il y a deux fermeture de formulaires </form> qui ne correspondent à aucune ouverture, en plus de la "bonne" </form>
Que array(0) { } s'affiche avant de valider le formulaire, c'est parfaitement normal.
Mais il devrait afficher autre chose une fois que tu as cliqué sur Valider
As-tu enlevé les </form> excédentaires ?
Mais il devrait afficher autre chose une fois que tu as cliqué sur Valider
As-tu enlevé les </form> excédentaires ?