Post con button.

  • Creatore Discussione Creatore Discussione fgiuffo
  • Data di inizio Data di inizio

fgiuffo

Nuovo Utente
8 Mar 2012
14
0
0
salve a tutti:book:

ho il seguente problema:
una prima pagina con il seguente codice:
PHP:
echo '<form method="post" action="stampa_offerta.php" target="_blank"><table>'; 
foreach ($_SESSION['clienti'] as $val) { 
echo '<tr><td>'.$val.'</td><td><input type="submit" value="stampa" name="'.$val.'"></td></tr>';} 
echo "</table></form>";

e una seconda pagina in cui devo vedere quale bottone è stato premuto,
codice:
PHP:
foreach ($_SESSION['clienti'] as $cliente){ 
if (isset($_POST['.$cliente.'])){ 
echo $_POST['.$cliente.']; 
} 
}

solo che non mi esce niente, come posso fare per avere l'informazione??

grazie in anticipo!
 
Ciao,

ho messo tutto in una pagina per semplificare

PHP:
<?php
// presumo che il tuo array sia  + o - cosi
for ($i = 0; $i < 10; $i++) {
    $_SESSION['clienti'][] = "cliente" . $i;
}
//verifico che sia settato il post e ciclo l'array
if (isset($_POST)) {
    foreach ($_SESSION['clienti'] as $cliente) {
        if (isset($_POST[$cliente])) {
            echo $_POST[$cliente];
        }
    }
}

echo '<form method="post" action=""><table>';
foreach ($_SESSION['clienti'] as $val) {
    echo '<tr><td>' . $val . '</td><td><input type="submit" value="' . $val . '" name="' . $val . '"></td></tr>';
}
echo "</table></form>";
?>

I problemi erano due:

dovevi dare il valore dell'elemento dell'array al value dell input
PHP:
value="' . $val . '"

la sintassi corretta per
PHP:
$_POST['.$cliente.']
è
PHP:
$_POST[$cliente]
 
grazie:),
ma se sui diversi bottoni che ci sono, volessi che ci sia scritto solo 'stampa', come dovrei fare??
 
ciao

PHP:
echo "<tr><td>$val</td><td><input type=\"submit\" value=\"$val\" name=\"STAMPA\"></td>";

p.s.
scusa ma io non uso i singoli apici
 
ah, grazie, ora provo e vi dico come va..
ciao:byebye:

niente, ho provato con
PHP:
echo "<tr><td>$val</td><td><input type=\"submit\" value=\"$val\" name=\"STAMPA\"></td>";
ma non mi da niente..
 
Ultima modifica:
Ciao,
penso di aver sbagliato io

il tuo problema era uno solo

il value in teoria puo rimanere lo stesso (Stampa)

non ho possibilita di provare ho il pc in panne (mi apre l'editor sul secondo monitor che ho lasciato in ufficio. mah!?)
 
praticamente la $_SESSION['clienti'] ha tipo 3-4 nomi, ad esempio Aldo Giovanni Giacomo e Luca.
Con l'istruzione :
PHP:
echo '<form method="post" action="stampa_offerta.php" target="_blank"><table>';  
foreach ($_SESSION['clienti'] as $val) {  
echo '<tr><td>'.$val.'</td><td><input type="submit" value="stampa" name="'.$val.'"></td></tr>';}  
echo "</table></form>";
dovrei dare al nome dei 4 bottoni rispettivamente il nome Aldo Giovanni Giacomo e Luca.

A questo punto nella pagina seguente devo trovare quel Post che ad esempio si chiama $_POST['Giovanni'], e per questo ho creato la seguente istruzione:
PHP:
foreach ($_SESSION['clienti'] as $cliente){  
if (isset($_POST[$cliente])){  echo $_POST[$cliente];  }
}
nella quale per ogni nome confronto se la $_POST esiste (tramite isset) e se vero mi da il nome che ho premuto.

Il discorso della bidimensionale mi spiazza un po' . . . :eek:

che ne dite?
 
Ciao
praticamente la $_SESSION['clienti'] ha tipo 3-4 nomi, ad esempio Aldo Giovanni Giacomo e Luca.

scrivi
PHP:
 var_dump[$_SESSION)
e posta un pezzo del risultato tanto per capire come è fatta questa SESSION

Il var_dump del mio esempio è cosi:

Codice:
array
  'clienti' => 
    array
      0 => string 'cliente0' (length=8)
      1 => string 'cliente1' (length=8)
      2 => string 'cliente2' (length=8)
      3 => string 'cliente3' (length=8)
      4 => string 'cliente4' (length=8)
      5 => string 'cliente5' (length=8)
      6 => string 'cliente6' (length=8)
      7 => string 'cliente7' (length=8)
      8 => string 'cliente8' (length=8)
      9 => string 'cliente9' (length=8)
 
Ok, ci sono arrivato

almeno con il mio esempio

PHP:
<?php

// presumo che il tuo array sia  + o - cosi
for ($i = 0; $i < 10; $i++) {
    $_SESSION['clienti'][] = "cliente" . $i;
}
//verifico che sia settato il post e ciclo l'array
if (isset($_POST)) {
    //ciclo il post
    foreach ($_POST as $key => $cliente) {
        // stampoo la chiave del post
        echo $key;
    }
}

echo '<form method="post" action=""><table>';
foreach ($_SESSION['clienti'] as $val) {
    echo '<tr><td>' . $val . '</td><td><input type="submit" value="Stampa" name="' . $val . '"></td></tr>';
}
echo "</table></form>";
?>
 
facendo il var_dump mi è uscito:

PHP:
array(5) { 
["registrazione"]=> int(1) ["clienti"]=> array(3) { [0]=> string(10) "Della Bona" [1]=> string(8) "Hulsberg" [2]=> string(5) "Klees" } ["prodotto"]=> array(3) { [0]=> string(23) "patata rossa da lessare" [1]=> string(25) "patata gialla da frittura" [2]=> string(26) "patata farinosa da gnocchi" } 
["prezzo"]=> array(3) { [0]=> string(1) "5" [1]=> string(1) "4" [2]=> string(1) "4" } 
["tariffazione"]=> array(3) { [0]=> string(1) "1" [1]=> string(1) "0" [2]=> string(1) "1" } 
}
 
Come nel mio esempio

dovrebbe funzionarti quello che ho postato stamattina
 

Discussioni simili