Eviter un INSERT INTO

Résolu
Bonjour, voici mon problème

j'ai un fichier .php qui est appelé est qui contient des insertions dans une table et charge un template:

....$db->query("INSERT INTO....
.....
$template_output .= $template->process('xxxxx.tpl.php');

le Template a des champs de renseignement qui avec un submit execute ce ....$db->query("INSERT INTO....

Mon problème est que quand ce fichier.php est appelé il m'insert dans la table une ligne vierge. Puis les renseignements que je saisis dans le Template.

J'aimerai supprimer cette ligne vierge ?

Merci!

5 réponses

  1. Mets un name="machinchose" sur l'input='submit' et tu test si machinchose est soumis avec l'insertion, si oui, il insere si non, il fait rien
    1. Voilà le code du fichier php. Merci!!

      include_once ('header.php');

      $payment_amount = floatval($_REQUEST['amountremise']);
      $user_id = intval($_REQUEST['userid']);

      (string) $management_box = NULL;
      (string) $page_handle = 'register';

      $msg_changes_saved = '<p align="center" class="contentfont">' . CHANGES_SAVED . '</p>';

      $form_submitted = false;

      $user = new user();
      $user->setts = &$setts;

      $tax = new tax();
      $tax->setts = &$setts;

      $invoice_name = CREDIT_VOUCHER; // Remise

      $payment_gateway = 'USER_GRIP';

      $sql_select_main_balance = $db->query("SELECT balance FROM " . DB_PREFIX . "users where user_id = '" . $user_id . "' LIMIT 0,1");

      $old_main_solde = $db->fetch_array($sql_select_main_balance);
      print_r($old_main_solde);
      $main_solde = $old_main_solde['balance'] - $payment_amount;

      echo 'New sold > ' . $main_solde;

      $sql_insert_main_solde = $db->query("UPDATE " . DB_PREFIX . "users SET
      balance='" . $main_solde . "' WHERE
      user_id= " . $user_id . "");

      $sql_select_balance = $db->query("SELECT * FROM " . DB_PREFIX . "remise where user_id = '" . $user_id . "' ORDER BY invoice_id DESC LIMIT 0,1");

      $old_solde = $db->fetch_array($sql_select_balance);

      $solde = $old_solde['current_balance'] - $payment_amount;
      ?>
      <script>alert("INSERT INTO remise ")</script>
      <?
      $sql_insert_invoice = $db->query("INSERT INTO " . DB_PREFIX . "remise
      (user_id, name, amount, invoice_date, current_balance, live_fee, processor, tax_calculated) VALUES
      ('" . $user_id . "', '" . $invoice_name . "',
      '" . $payment_amount . "', '" . CURRENT_TIME . "', '" . $solde . "', '1', '" . $payment_gateway . "',
      '1')");

      $template_output .= $template->process('grip1user.tpl.php');

      include_once ('footer.php');

      echo $template_output;
      1. Le voici. Merci pour votre aide !!

        <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
        <td width="4"><img src="images/c1.gif" width="4" height="4"></td>
        <td width="100%" class="ftop"><img src="images/pixel.gif" width="1" height="1"></td>
        <td width="4"><img src="images/c2.gif" width="4" height="4"></td>
        </tr>
        </table>
        <table width="100%" border="1" cellpadding="3" cellspacing="3" class="fside">
        <tr>
        <td colspan="4" class="c3"><img src="images/subt.gif" align="absmiddle" hspace="4" vspace="2"> <b><?=$subpage_title;?></b></td>
        </tr>
        <form action="grip1user.php" method="POST" name="grip1user_form">
        <input type="hidden" name="do" value="display_accounting">
        <input type="hidden" name="user_id" value="<?=$user_id;?>">
        <tr>
        <td align="center" colspan="2"><b><?=AMSG_USER_GRIP;?></b></td>
        </tr>

        <tr class="c2">
        <td width="150" align="right"><b>
        <?=MSG_ID;?>
        </b></td>
        <td><input type="text" name="userid" value="" id="userid"></td>
        </tr>
        <tr class="c2">
        <td align="right"><b>
        <?=AMOUNT_CREDIT;?>
        </b></td>
        <td><input type="text" name="amountremise" value="" id="amountremise"></td>
        </tr>
        <tr>
        <td></td>
        <td><input type="submit" name="form_grip1user" value="<?=PROCEED;?>"></td>
        </tr>
        </form>
        </table>