[PHP] Check - Select e recupero variabili

macus_adi

Utente Attivo
5 Dic 2017
1.319
88
48
IT/SW
Scusami....
PHP:
if(isset($_POST['invia'])){
            unset($_POST['invia']);
//ar_inseimento deve stare fuori al controllo
 $ar_inserimento=[];
            if(isset($_POST['controllo'])){
                unset($_POST['invia']);
              
                foreach($_POST['controllo'] as $k=>$valore){
                    if(isset($_POST['da_'.$k])){

                        $ar_inserimento[]='Danni provenienti da'.$k.' Risultato :'.$_POST['da_'-.$k];
                    }else{
                        $ar_inserimento[]='nessun danno';
                    }

                    foreach($ar_inserimento as $items)echo $items.'<br>';
                    foreach($_POST['controllo'] as $k=>$valore){
                        if(isset($_POST['da_'.$k])){

                            $ar_inserimento[]='Danni provenienti da'. $k.' Risultato :'.$_POST['da_'-.$k];
                        }else{
                            $ar_inserimento[]='nessun danno';
                        }
                    }
                    
                }
            }else{
                $ar_inserimento[]='nessun danno';
            }
            foreach($ar_inserimento as $items)echo $items.'<br>';
        }
VEDI
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
bho continua... non capisco sinceramente ho anche contato gli apostrofi.. sempre stesso errore su stesse righe
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
ok allora ci avviciniamo, ma ora mi replica X volte il risultato. ne ho messi soltanto 4 come check e il risultato è questo:

Codice:
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
 

macus_adi

Utente Attivo
5 Dic 2017
1.319
88
48
IT/SW
if(isset($_POST['invia'])){
unset(
$_POST['invia']);
//ar_inseimento deve stare fuori al controllo
$ar_inserimento=[];
if(isset(
$_POST['controllo'])){
unset(
$_POST['invia']);

foreach(
$_POST['controllo'] as $k=>$valore){
if(isset(
$_POST['da_'.$k])){

$ar_inserimento[]='Danni provenienti da'.$k.' Risultato :'.$_POST['da_'-.$k];
}else{
$ar_inserimento[]='nessun danno';
}
//commenta questa era il controllo di prima che stampava
// foreach(
$ar_inserimento as $items)echo $items.'<br>';
foreach(
$_POST['controllo'] as $k=>$valore){
if(isset(
$_POST['da_'.$k])){

$ar_inserimento[]='Danni provenienti da'. $k.' Risultato :'.$_POST['da_'-.$k];
}else{
$ar_inserimento[]='nessun danno';
}
}

}
}else{
$ar_inserimento[]='nessun danno';
}
foreach(
$ar_inserimento as $items)echo $items.'<br>';
}

//commenta questa era il controllo di prima che stampava
// foreach($ar_inserimento as $items)echo $items.'<br>';
Si trova a metà
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
//commenta questa era il controllo di prima che stampava
// foreach($ar_inserimento as $items)echo $items.'<br>';
Si trova a metà
Migliorata ma non risolta, stessa configurazione:

Codice:
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
Danni provenienti dacerchi_ant_dx Risultato :SCALFITURA
Danni provenienti dacerchi_ant_sx Risultato :GRAFFIO
Danni provenienti dagomme_post_dx Risultato :SOSTITUZIONE
Danni provenienti dafanali_post_sx Risultato :RIPARAZIONE
 

macus_adi

Utente Attivo
5 Dic 2017
1.319
88
48
IT/SW
............ Mi sembra che non ci siano altri echo.....
Controlla bene..... Devi trovare qualche print
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
risolto... posto codice completo:

PHP:
<?php
if(isset($_POST['invia'])){
unset($_POST['invia']);
//ar_inseimento deve stare fuori al controllo
$ar_inserimento=[];
if(isset($_POST['controllo'])){
unset($_POST['invia']);

foreach($_POST['controllo'] as $k=>$valore){
if(isset($_POST['da_'.$k])){

$ar_inserimento[]='Danni provenienti da'.$k.' Risultato :'.$_POST['da_'.$k];
}else{
$ar_inserimento[]='nessun danno';
}
}
}else{
$ar_inserimento[]='nessun danno';
}
foreach($ar_inserimento as $items)echo $items.'<br>';
}
   ?>
fai un ultima verifica anche tu.. dimmi se e tutto corretto.

Grazie ancora dell'aiuto

PS ora per prendere i valori ed inserirli in un DB basta che recupero l'array ?
 

macus_adi

Utente Attivo
5 Dic 2017
1.319
88
48
IT/SW
OK.... togli solo unset($_POST['invia']) dentro l'if controllo
così
PHP:
if(isset($_POST['invia'])){
    unset($_POST['invia']);
//ar_inseimento deve stare fuori al controllo
    $ar_inserimento=[];
    if(isset($_POST['controllo'])){
        
        foreach($_POST['controllo'] as $k=>$valore){
            if(isset($_POST['da_'.$k])){

                $ar_inserimento[]='Danni provenienti da'.$k.' Risultato :'.$_POST['da_'.$k];
            }else{
                $ar_inserimento[]='nessun danno';
            }
        }
    }else{
        $ar_inserimento[]='nessun danno';
    }
    foreach($ar_inserimento as $items)echo $items.'<br>';
}
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
OK.... togli solo unset($_POST['invia']) dentro l'if controllo
così
PHP:
if(isset($_POST['invia'])){
    unset($_POST['invia']);
//ar_inseimento deve stare fuori al controllo
    $ar_inserimento=[];
    if(isset($_POST['controllo'])){
       
        foreach($_POST['controllo'] as $k=>$valore){
            if(isset($_POST['da_'.$k])){

                $ar_inserimento[]='Danni provenienti da'.$k.' Risultato :'.$_POST['da_'.$k];
            }else{
                $ar_inserimento[]='nessun danno';
            }
        }
    }else{
        $ar_inserimento[]='nessun danno';
    }
    foreach($ar_inserimento as $items)echo $items.'<br>';
}
Adesso è perfetto :)

Ultime domande... con questa riga stampi l'array
foreach($ar_inserimento as $items)echo $items.'<br>';

Se io volessi assegnarli una variabile per ogni inserimento, devo usare $danni = $items [$k];

?? Mi occorre inserire i danni nel DB e mandarli per email...
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
Uhm ho provato ma mi restituisce errore...

$danni[$k] = $items[$k];
echo "test danni su variabile".$danni.'<br>';

Danni provenienti da: par_ant_dx Risultato : LIEVE
Danni provenienti da: par_post_sx Risultato : MEDIA
Danni provenienti da: parafango_ant_sx Risultato : LIEVE

Warning: Illegal string offset 'parafango_ant_sx' in C:\xampp_5.6\htdocs\sinistri\inserisci_danni2.php on line 20

Notice: Array to string conversion in C:\xampp_5.6\htdocs\sinistri\inserisci_danni2.php on line 21
test danni su variabileArray

La parte sopra e giusta ovviamente.
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
Posta tutto il codice!
ok.. La parte PHP è questa :

PHP:
<?php
if(isset($_POST['invia'])){
unset($_POST['invia']);
//ar_inseimento deve stare fuori al controllo
$ar_inserimento=[];
if(isset($_POST['controllo'])){

foreach($_POST['controllo'] as $k=>$valore){
if(isset($_POST['da_'.$k])){

$ar_inserimento[]=''.$k.'-'.$_POST['da_'.$k].'';
}else{
$ar_inserimento[]='Nessun danno';
}
}
}else{
$ar_inserimento[]='Nessun danno';
}
foreach($ar_inserimento as $items)
    echo $items.'/';
}
   ?>
In questa maniera a me appare a video come risultato:
par_ant_dx-LIEVE/par_post_sx-MEDIA/gomme_ant_dx-RIPARAZIONE/

Che è quello che ho selezionato e nel formato che deve andare nel db.

Io recupero dalla pagina precedente anche 5 campi hidden che porto avanti dall'inserimento iniziale.
In questa pagina di risposta, oltre a vedere cosa ho selezionato ci saranno 5 campi HIDDEN :

HTML:
<form action="insert_danni.php" method="post" name="prosegui" method="post" style="display:none;" id="prosegui" >>
<table align="center">
<tr><td>
<input type="submit" value="Prosegui" name="prosegui"></td></tr></table>
<input type="hidden" value="<?php echo $Stazione; ?>" name="Stazione">
<input type="hidden" value="<?php echo $Targa; ?>" name="Targa">
<input type="hidden" value="<?php echo $NContratto; ?>" name="NContratto">
<input type="hidden" value="<?php echo $Operatore; ?>" name="Operatore">
<input type="hidden" value="<?php echo $SCP; ?>" name="SCP">
Recuperati tramite POST:

PHP:
$Targa = $_POST['Targa'];
$SCP = $_POST['SCP'];
$Stazione = $_POST['Stazione'];
$NContratto=$_POST['NContratto'];
$Operatore = $_POST['Operatore'];
Io devo aggiungere un campo che contiene l'array danni con un divisore (nelle'esempio è / ) da poter inviare sia tramite email che inserire nel DB.

Mi sono spiegato ?

Il problema è che anche usando il sistema di prima non riesco...
 

macus_adi

Utente Attivo
5 Dic 2017
1.319
88
48
IT/SW
Io devo aggiungere un campo che contiene l'array danni con un divisore (nelle'esempio è / ) da poter inviare sia tramite email che inserire nel DB.
PHP:
$danni=join('/',$ar_inserimento);
In questo modo hai tutti i danni dentro la variabile "danni" in formato stringa separati da "/"
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
oddio non conosco questa istruzione... vado a vederla sul manuale, intanto ti ringrazio.
Ovviamente funziona alla grande :)

Ultimissima cosa poi credo di aver terminato.

Attualmente usando questa istruzione:

PHP:
$ar_inserimento[]='Parte danneggiata: <b>'.$k.'</b> Entità: <b>'.$_POST['da_'.$k].'</b>';
Se vedo cosa contiene la variabile danni appare cosi:

Codice:
Danni variabile: Parte danneggiata: par_ant_dx Entità: LIEVE/Parte danneggiata: par_post_sx Entità: MEDIA/Parte danneggiata: gomme_ant_dx Entità: RIPARAZIONE
è possibile fare in modo che "Parte danneggiata: " e "Entità:" siano solo scritte e non all'interno dell'array? perche in questa maniera la variabile danni appare in quella maniera mentre io la vorrei :

par_ant_dx-LIEVE/par_post_sx-MEDIA/gomme_ant_dx-RIPARAZIONE

Grazie ancora per il supporto.