0

I'm working on a php based tool in a proprietary framework. I have a form made of text fields and dropdown fields. To submit the form I have a button. After the form is submitted I receive a text via an echo command and a clickable text (Go Back). When clicking on it, page refreshes and the form is shown with empty fields This command is set by:

echo "<center><a href=\"javascript:history.go(-1)\">BLOCCA UN'ALTRA CARTA</a></center></br></br></br>";

I need a way to get back after the form is submitted with the possibility to see the fields containing data entered before submitting the form to modify them if needed and submit the form again.

Obviously all data entered are entered in a db table. Here my php file "Insert". Thanks all

<?php
global $sf_vaccine;

$sf_vaccine['sheet']->setAndCheck();    

$record = $sf_vaccine['sheet']->toDbRecord();




if ($sf_vaccine['sheet']->wasSubmitted()){
            
    if((strlen($record['taxCode']) != 16  ))
        $sf_vaccine['fields']['taxCode']->setError("Il campo 'Codice Fiscale' dev'essere composto da 16 caratteri");

    if($record['phoneNumber'] == '3482681294' || $record['phoneNumber'] =='3495082760' || $record['phoneNumber'] =='3382938418'){
        echo '<b><center><p><font color=red>ATTENZIONE!</br></br>NUMERO DI TELEFONO SEGNALATO PER BLOCCHI ANOMALI.</br></br>CON L\'INTERLOCUTORE AL TELEFONO PROSEGUI COME SE STESSI EFFETTUANDO IL BLOCCO MA NON BLOCCARE LA CARTA. </br></br>ASSEGNA UN TICKET A BO CON ENNUPLA</br>DETTAGLIO A: SEGNALAZIONE IN BLOCCA LA CARTA</br>INDICANDO NELLE NOTE: CLIENTE SEGNALATO PER BLOCCHI ANOMALI</font></p></center></b></b></b></br></br>';
    }

    if($record['taxCode'] == 'BNCGRI79H11L682T' || $record['taxCode'] =='DNTFNC80C06F205T' || $record['taxCode'] =='KTSLHO88P54Z138K' || $record['taxCode'] =='PNTGNN87S09D976S' || $record['taxCode'] =='JSNGRI88H07Z140Q' || $record['taxCode'] =='RROVCN78L07A512K' || $record['taxCode'] =='PZRFTG88P10Z605Q' || $record['taxCode'] =='BSSGLI96H67G482N' || $record['taxCode'] =='GZZCML87B18F830M' || $record['taxCode'] =='SPRLNA92L13Z255T' || $record['taxCode'] =='GGLCSM76T19A783M' || $record['taxCode'] =='PLMLCN88A21C351B' || $record['taxCode'] =='SPLGSZ80D51Z127T' || $record['taxCode'] =='SKPNDR91A30Z138G' || $record['taxCode'] =='DLSMNL00P69F839W' || $record['taxCode'] =='DLDLCU83A04D142B' || $record['taxCode'] =='DNDSMN79E60G224K' || $record['taxCode'] =='MCRRTI55L70I725H' || $record['taxCode'] =='MNGCST78H25D458Q' || $record['taxCode'] =='RMNCML77L59B872B' || $record['taxCode'] =='TMLTNN62L62H693W' || $record['taxCode'] =='SMNGPP77D56H501J' || $record['taxCode'] =='MCHPAI99H30F912O' || $record['taxCode'] =='CRSSST77D09C351T' || $record['taxCode'] =='VGNTMS96C13A944J' || $record['taxCode'] =='SNCCDT81M54Z614E' || $record['taxCode'] =='PZZMRA87S67D960H' || $record['taxCode'] =='RCCNGL98H53F839E' || $record['taxCode'] =='RNNCNZ80L70D005G' || $record['taxCode'] =='CLNMNN89B49F799E'){
        echo '<b><center><p><font color=red>ATTENZIONE!</br></br>CODICE FISCALE SEGNALATO PER BLOCCHI ANOMALI.</br></br>CON L\'INTERLOCUTORE AL TELEFONO PROSEGUI COME SE STESSI EFFETTUANDO IL BLOCCO MA NON BLOCCARE LA CARTA. </br></br>ASSEGNA UN TICKET A BO CON ENNUPLA</br>DETTAGLIO A: SEGNALAZIONE IN BLOCCA LA CARTA</br>INDICANDO NELLE NOTE: CLIENTE SEGNALATO PER BLOCCHI ANOMALI</font></p></center></b></b></b></br></br>';
    }
}


if ($sf_vaccine['sheet']->wasSubmitted() && !$sf_vaccine['sheet']->hasErrors()) {

    $record['insertDt'] = 'NOW()';
    $record['userId']   = Session::GetUser('id');
    $taxcode= $_GET['taxCode'];
    
    $insertAnother = $record['insertAnother'];
    
    unset($record['insertAnother']);

    $sf_vaccine['manager']->insert($record,'insertDt'); 
    
    //Javascript("alert('Nuovo Record Inserito!')");
    Javascript("window.opener.location.reload(true)");
    echo "<center><a href=\"javascript:history.go(-1)\">BLOCCA UN'ALTRA CARTA</a></center></br></br></br>";
    

    if ($insertAnother == 'true')
    
        
    
    if ($record['blockInfoId'] == '1' && $record['cardTyipeId']=='1' ||  $record['cardTyipeId']=='2' ||  $record['cardTyipeId']=='3' || $record['cardTyipeId']=='4' || $record['cardTyipeId']=='5' || $record['cardTyipeId']=='6' || $record['cardTyipeId']=='7' || $record['cardTyipeId']=='8' || $record['cardTyipeId']=='9' || $record['cardTyipeId']=='10' ||  $record['cardTyipeId']=='11' || $record['cardTyipeId']=='12' || $record['cardTyipeId']=='13' || $record['cardTyipeId']=='14')
        
        {$date = date('dmY', time());

        echo '<b>Descrizione richiesta:</b></br></br>' . $sf_vaccine['fields']['callerId']->toStringValue() . ' CHIEDE IL BLOCCO DELLA ' . $sf_vaccine['fields']['cardTyipeId']->toStringValue()
         . ' NUM: ' . $record['cardNumber']. '<br><br><br><b>Risposta al cliente:</b></br></br> SI ESEGUE BLOCCO DELLA ' 
         . $sf_vaccine['fields']['cardTyipeId']->toStringValue() . ' NUM: ' . $record['cardNumber'] . ' FORNITO CODICE DI BLOCCO: ' . $record['taxCode'].$date ;}
        
        else if ($record['blockInfoId'] == '1' && $record['cardTyipeId']=='15')
        {echo 'Descrizione richiesta:</br></br>' . $sf_vaccine['fields']['callerId']->toStringValue() . ' ACCETTA SPEDIZIONE DELLA CARTA POSTEPAY EVO' . ' NUM: ' . $record['cardNumber']. '<br><br><br>Risposta al cliente:</br></br> SI ESEGUE RICHIESTA DI PRENOTAZIONE INVIA DELLA CARTA POSTEPAY EVO SOSTITUTIVA NUM' 
         . $record['cardNumber'];}

         else if ($record['blockInfoId'] == '2' && $record['cardTyipeId']=='1' ||  $record['cardTyipeId']=='2' ||  $record['cardTyipeId']=='3' || $record['cardTyipeId']=='4' || $record['cardTyipeId']=='5' || $record['cardTyipeId']=='6' || $record['cardTyipeId']=='7' || $record['cardTyipeId']=='8' || $record['cardTyipeId']=='9' || $record['cardTyipeId']=='10' ||  $record['cardTyipeId']=='11' || $record['cardTyipeId']=='12' || $record['cardTyipeId']=='13' || $record['cardTyipeId']=='14')
         {echo '<b><center><p><font color=red>ATTENZIONE!</br></br>POPOLARE IL CODICE DI BLOCCO MANUALMENTE, RICORDA CHE PER LE CARTE BLOCCATE PRIMA DEL 10 DICEMBRE 2018 COMUNICARE CODICE DI BLOCCO COME CODICEFISCALEHHMM [HH:MM] ORA E MINUTI DEL BLOCCO</font></p></center></b></b></b></br></br><b>Descrizione richiesta</b>:</br></br>' . $sf_vaccine['fields']['callerId']->toStringValue() . ' CHIEDE IL NUM DI BLOCCO DELLA  ' . $sf_vaccine['fields']['cardTyipeId']->toStringValue()
         . ' NUM: ' . $record['cardNumber']. '<br><br><br><b>Risposta al cliente:</b></br></br> SI FORNISCE IL NUMERO DI BLOCCO  BLOCCO DELLA ' 
         . $sf_vaccine['fields']['cardTyipeId']->toStringValue() . ' NUM: ' . $record['cardNumber'] . ' FORNITO CODICE DI BLOCCO: ' . $record['taxCode'] ;}

         else if ($record['blockInfoId'] == '3' && $record['cardTyipeId']=='1' ||  $record['cardTyipeId']=='2' ||  $record['cardTyipeId']=='3' || $record['cardTyipeId']=='4' || $record['cardTyipeId']=='5' || $record['cardTyipeId']=='6' || $record['cardTyipeId']=='7' || $record['cardTyipeId']=='8' || $record['cardTyipeId']=='9' || $record['cardTyipeId']=='10' ||  $record['cardTyipeId']=='11' || $record['cardTyipeId']=='12' || $record['cardTyipeId']=='13' || $record['cardTyipeId']=='14')
         {echo '<b>Descrizione richiesta:</b></br></br>' . $sf_vaccine['fields']['callerId']->toStringValue() . ' CHIEDE IL NUM DELLA  ' . $sf_vaccine['fields']['cardTyipeId']->toStringValue()
         . ' BLOCCATA ' . '<br><br><br><b>Risposta al cliente:</b></br></br> SI FORNISCE IL NUMERO DELLA ' . $sf_vaccine['fields']['cardTyipeId']->toStringValue() . 'NUM' . $record['cardNumber'];}


         else 
        Javascript("window.close()");   
}else {
    $sf_vaccine['buttons']['submit']->text = 'Inserisci';       
    $sf_vaccine['sheet']->command = 'insert';
    $sf_vaccine['sheet']->show();
}

/*echo "</br></br></br><right><input type='submit' name='submit' value='Torna Indietro'>";
if(isset($_POST['submit'])) {
    echo "hello";
    }*/
    
    
    
?>





<script type="text/javascript" language="javascript" src="/_js/jquery-ui.js"> </script>
<script src="/_js/jquery.ui.datepicker-it.js" language="javascript" type="text/javascript"></script>
<link href="/_css/jquery-ui.css" type="text/css" rel="stylesheet"></link>

1 Answers1

0

Your code relly needs refactoring from base.

However, You can stor your submited form to a PHP session and then read that on the first page.

for example:

<?php

if($_POST) $_SESSION['form_data'] = $_POST;

And in your first page use like this:

<input type="text" name="email" val="<?php echo $_SESSION['form_data']['email'] ?>" >

But, It's really ugly solution.

Milad Abooali
  • 686
  • 1
  • 13
  • 30
  • My need is simple: once form is submitted I need a a button so clicking it I get back to the previous form page with fields filled by values before entered, allowing to modify them and to submit the form again. Fields are so defined in my framework in another php file: Phone number -> '$sf_vaccine['fields']['phoneNumber'] = new TextField('phoneNumber'); $sf_vaccine['fields']['phoneNumber']->label = 'Numero di telefono'; $sf_vaccine['sheet']->addField($sf_vaccine['fields']['phoneNumber']);' How can I enter the code you suggest in your answer? – Marcello D'Ambrosio Aug 05 '21 at 10:07
  • I found rthis answer at: https://stackoverflow.com/questions/2548566/go-back-to-previous-page It says: the "history.go(-1)" in javascript. This will produce a filled out form. But in my case it produce an empty form. I don't understand why!! Can you help me? – Marcello D'Ambrosio Aug 05 '21 at 10:24
  • @DConsulting Test `window.history.go(-1)`. – Milad Abooali Aug 05 '21 at 10:44
  • Milad I made this: 'echo "
    – Marcello D'Ambrosio Aug 05 '21 at 10:50
  • @MarcelloD'Ambrosio you have to add like this: `onclick='window.history.go(-1);return(false);'` – Milad Abooali Aug 05 '21 at 13:54
  • Here what I did: echo "
    – Marcello D'Ambrosio Aug 05 '21 at 15:02