[PHP] $_POST di un valore in un while

Klaus0099ff

Nuovo Utente
4 Lug 2017
13
0
1
22
Salve a tutti, premetto che non sono un esperto. Ho creato in PHP un ciclo while che in base ad una query genera un form con all'interno questi campi:

PHP:
echo '<form action="" method="post" id="frmPartner">';
    echo '<div class="chatList" onclick="setPartner()">';
        echo "<img src='../".$row['avatar']."' height='40' width='40' class='avatarChatPrivata'/>";
        echo '<span>'.$row['da_username'].'</span>';
        echo "<input type='hidden' name='partner' value='".$row['da_username']."'/>";
        echo '<hr>';
    echo '</div>';
echo '</form>';

Il mio problema e che avrei bisogno di salvare il valore dello span (riportato nell'input partner in una sessione fuori dal ciclo while, ma usando il methodo $_POST ovviamente ottengo soltanto l'ultimo valore e non posso dare un nome differente per tutti perchè vengono generati in base ai dati del database...

Qualcuno potrebbe aiutarmi a trovare una soluzione?

Grazie mille e scusate per il disturbo.
 
Ultima modifica di un moderatore:

bubino8

Utente Attivo
28 Apr 2017
360
20
28
29
BZ
Potresti provare a fare una variabile tipo
$conta = 0 ogni ciclo incrementa di 1 e gli input diventano
name='partner".$conta."'
 

Klaus0099ff

Nuovo Utente
4 Lug 2017
13
0
1
22
Si, ma devo anche fare in modo di ottenere il nome="partner".$conta; relativo al div su cui l'utente ha cliccato.

Alla fine del while io ho impostato questa piccola funzione
if(isset($_POST['partner']))
{
$_SESSION['partner'] = $_POST['partner'];
}

Ad ogni modo, grazie mi è di aiuto
 
Ultima modifica:

bubino8

Utente Attivo
28 Apr 2017
360
20
28
29
BZ
Puoi passare id tramite la funzione
es.:
PHP:
echo '<div id="'.$conta.'" class="chatList" onclick="setPartner(this.id)">';
e poi in JS
PHP:
function setPartner(id){
var nrbox = id;
}
 
  • Like
Reactions: Klaus0099ff

Klaus0099ff

Nuovo Utente
4 Lug 2017
13
0
1
22
Ma in questo modo ottengo l'id in javascipt ma poi posso concatenarlo in questo modo?
document.write("<?php $_SESSION['partner'] = $_POST['partner "+nrbox+" '] ?>");
O devo richiamare un funzione di php e passare il valore da js?
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
29
BZ
Mmmm... Prova a testare se no mi viene in mente
PHP:
var nrbox = id;
$.ajax({
    type: "POST",
    url: session.php
    data: {val:nrbox},
    success: function(data){
       
    };
});

e in session.php

PHP:
if(isset($_POST['val'])) {
$_SESSION['utente'] = $_POST['val'];//crei sessione
}
 
  • Like
Reactions: Klaus0099ff

Klaus0099ff

Nuovo Utente
4 Lug 2017
13
0
1
22
Mi spiace, ho provato con questo metodo ma nulla, al momento del click sul div e quindi all'esecuzione del js non crea nessuna sessione
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
29
BZ
index.php
PHP:
<?php
include ('connect.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <title>Registro Interventi</title>
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <meta name="generator" content="HAPedit 3.0">
        <script>
        function setPartner(id){
            var separo = id.split("|");
            $.ajax({ 
                type: "POST",
                url: "session.php", 
                data: "id=" + separo[1],
                dataType: "html",
                success: function(risposta) { 
                    $("div#risposta").html(risposta); 
                },
                error: function(){
                    alert("Chiamata fallita!!!");
                }
            });
        }
        </script>

    </head>
    <body>
        <?php
        session_start();
        if($_SESSION['utente']){
            echo 'Sessione Esistente Utente: '.$_SESSION['utente'];
        }else{
            echo 'Sessione Non Esistente';
        }
        
        $query = "SELECT * FROM progetti";
        $result = mysqli_query($conn, $query);
        ?>
        <div style="text-align:center;">
        <?php
        while($row = mysqli_fetch_array($result)){
            $id = $row['id'];
            $user = $row['nome'];
            echo '<div id="'.$id.'|'.$user.'" value="'.$user.'" name="'.$user.'" class="chatList" onclick="setPartner(this.id)">';
            //echo "<img src='../".$user."' height='40' width='40' class='avatarChatPrivata'/>";
            echo '<span>'.$user.'</span>';
            echo "<input type='hidden' name='partner' value='".$user."'/>";
            echo '<hr>';
            echo '</div>';
        }
        ?>
        </div>
        <div id="risposta"></div>
    </body>
</html>

<?php
ob_end_flush();//chiude ob_start
?>

session.php
PHP:
<?php
include ('connect.php');
if(isset($_POST['id'])) {
    $user= $_POST['id'];
    echo "Nuova Sessione Creata: ".$user;
    session_start();
    $_SESSION['utente'] = $user;//crei sessione
    //print_r($_SESSION);
}else{
    echo "Sessione Non Creata";
}
?>

connect.php
PHP:
<?php
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "check";

$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name) or die("db connect error: ".mysqli_connect_error());

?>

Il database:
id AUTO INCREMENT
nome varchar


Ovviamente è il funzionamento come base poi ci sono da fare controlli ecc.


Fammi sapere
 

Klaus0099ff

Nuovo Utente
4 Lug 2017
13
0
1
22
Guarda ho provato ma il problema di fondo e che al momento del click sul div non mi fa nulla, non arriva nulla session.php e non fa nulla di nulla. Cosa può essere secondo te?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
da quello che ho capito vuoi inviare con $_POST il valore della $row cliccata, giusto?
se è così dai un occhio a questa simulazione
PHP:
<?php
//per prova e messo tutto nella stassa pagina
if(isset($_POST['aa'])){
    foreach($_POST['partner'] as $da_username){
        if(isset($da_username)){
            echo "<p>cliccato su $da_username</p>";
        }
    }
}
$row=array('pinco','pallo','sempronio');
for($k=0;$k<3;$k++){
    //se action alla stassa pagina è meglio usare $_SERVER al posto di action=''
    echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" id="frmPartner">';
        echo '<span>'.$row[$k].'</span>';
        echo "<input type='hidden' name='partner[]' value='".$row[$k]."'/>";
        echo '<input name="aa['.$k.']" type="submit" value="invia">';//aa['.$k.'] per differenziare i submit
    echo '</form>';
}
?>
ho simulato $row e while e messo il pulsante di submit per non farmi il js e db e messo tutto nella stassa pagina
dando l'invio corrispondente al nome, es pallo, l'out put è
cliccato su pallo

p.s.
per la connessione è meglio usare
PHP:
<?php
session_start();//così non serve reindirizzare il flusso ob_start();...ob_end_flush();
//.....
require_once'connect.php';
?>
con l'include si corre il rischio che gli errori vengano visualizzati rendendo facile a malentenzionati accedere al db
e mettere session_start alla prima riga
 
  • Like
Reactions: Klaus0099ff

Klaus0099ff

Nuovo Utente
4 Lug 2017
13
0
1
22
Si effettivamente usando il tuo metodo funziona, grazie mille, tutt'avia sto ancora pensando a come rimuovere l'input submit e riportare tutto dentro un js ad ogni modo grazie mille, se hai qualche idea dimmi pure.

Ad ogni modo grazie a tutti per l'aiuto l'ho apprezzo molto
 
Discussioni simili
Autore Titolo Forum Risposte Data
G Come far passare un valore attraverso il metodo POST utiliazzando PHP a jQuery PHP 4
A php metodo post jquery non da mai errore jQuery 4
moustache text box + post php con IE si comporta in modo strano PHP 15
WebmasterFioriniAndrea [PHP] Method POST PHP 3
M Inviare variabili da menu a tendina a pagina php con post PHP 6
M [PHP] Stringhe con accento nel POST PHP 3
O [PHP] Ricerca record tramite post PHP 7
A PHP get e post PHP 1
M Creare tabella da pagina php popolata con valori passati con POST PHP 5
P [PHP] Reindirizzamento post Login PHP 3
M [PHP] API con metodo POST PHP 0
T [php]Variabile in textbox via post PHP 9
felino Archive.php per Custom Post Type WordPress 0
S visualizzare gli ultimi post di phpbb nella mia home.php PHP 2
zighy link che invia dati POST a file.php Javascript 8
S php problemi di funzione header usando la fuzione di jquery post PHP 4
A Passaggio array da javascript a PHP tramite metodo POST PHP 4
F eliminare post php / mysql PHP 5
codesurfer [JSP] POST tra JSP e PHP Java 1
seo-cosenza PHP POST multiplo PHP 0
M php e passaggio di variabili via get e post PHP 5
C 1G PHP, MySQL, cPanel/1G ASP Mssql No post No Ads And free domain Hosting 0
peppoweb Differenza PHP-NUKE --->POST-NUKE PHP 3
I dominio aruba versione php server linux Domini 1
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2

Discussioni simili