Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Gestione $_post

  1. #1

    Gestione $_post

    CIAO A TUTTI

    ho un problema nel gestire la funzione post che ritorna da questo FORM


    codice:
    <?php  $id=$_POST["id_galleria"];  
    include '../include/connect_db.php'; 
    $count=0; 
    $r= @mysql_query("
    SELECT nome, commenti, descrizione 
     FROM foto_campo  WHERE (id_galleria='$id' AND flag1 IS NULL)");  
    while ($d= mysql_fetch_array($r)) 
    {  
    $nome[]=$d; 
    $count++;       
             } mysql_close($dbcnx);  ?> 
    <form action="update_descrizione_campo.php" method="post"> 
    <input class="modulofrm" name="id_galleria" value="<?php echo $id ?>" readonly style="display: none;">
     
    Inserisci/modifica descrizione foto:
    
     
     <?php			 
    for ($i=0; $i < $count; $i++)   
    {   //echo $risultato[$i][1] . "
    ";   
     ?>   
    Nome Della Foto : <?php echo $nome[$i][0] ?>
     
      <input class="modulofrm" name="nome" value="<?php echo $nome[$i][0] ?>" readonly style="display: none;">
      
    Titolo Foto :
      
     <input type="text" name="commenti" value="<?php echo $nome[0][1] ?>" size="60" />
    
    
      Breve Descrizione Foto :
       
    <input type="text" name="descrizione" value="<?php echo $nome[0][2] ?>" size="60" />
    
       
    <?php   } ?>  
    <input type="submit" style="width:300px; color:#666" value="INSERISCI/MODIFICA CONTENUTI"/> </form>
    in pratica ora con questi campi (replicato per ogni foto) dovrei eseguire degli update delle update ma non so come fare

    in pratica dovei prelevare tutti quei NOME , COMMENTI , DESCRIZIONE

    e fare un aggiornamento in un db dei campi COMMENTI e DESCRZIONE in base al NOME.

    come posso fare a gestire il metodo post ?

    grazie paolo

  2. #2
    I post li trovi nel php con $_POST['commenti'], $_POST['nome'] ecc...
    PEr l'update del database ti basta studiare la query UPDATE .... SET di mysql ed eseguirla nello stesso modo con il quale esegui la SELECT

  3. #3
    mi sono spiegato male ..


    io alla fine del form mi troverò un "oggetto" con dentro:

    "NOME1 DESCRIZIONE1 COMMENTI1
    NOME2 DESCRIZIONE2 COMMENTI2

    eccc....
    "

    ora la mia domanda è tutte queste informazioni come sono strutturate all'interno del POST?

    come posso scorrerle per fare la seguente query in un ciclo?

    $sql="INSERT INTO `foto_campo` (`id_galleria`,`nome`,`directory`,`descrizione`,`c ommenti`) VALUES
    ('$id','$nome','$dir', '$descrizione', 'commenti');"

  4. #4
    Codice PHP:
    $id $_POST['id_galleria'];
    $nome $_POST['nome'];
    $descrizione $_POST['descrizione'];
    $commenti $_POST['commenti'];

    $dir = ??? 
    Il campo "dir" o "directory" non lo vedo nel form!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128
    è un pò confuso, all'inizio dici che devi fare degli update ma poi fai l'esempio di una insert

    ad ogni modo, devi ciclare il form per ogni riga in modo che i campi abbiano nomi diversi ovviamente.

    poi fai ciclare il $_POST e per ogni ciclo esegui l'update. se invece devi fare una insert puoi costruirti lo statement in modo da fare alla fine una sola query ed ottimizzare le performance

    quindi, giusto come esempio di "architettura":

    nel form

    for ( ) {
    <input type="text" name="nome[$i]">
    <input type="text" name="commenti[$i]">
    ecc. ecc.
    }

    nella parte di update o di insert ti costruisci l'array $nomi,$commenti, ecc.
    e poi fai un ciclo foreach dove per ogni record passato tramite il form fai l'update di commenti e descrizione where nome = $nome

  6. #6
    avete ragione mi sono espresso male in realtà ho copiato un pezzo di codice sbagliato ahahah

    Codice PHP:
     <?php  $id=$_POST["id_galleria"];  
    include 
    '../include/connect_db.php'
    $count=0
    $r= @mysql_query("SELECT nome, commenti, descrizione  FROM foto_campo  WHERE (id_galleria='$id' AND flag1 IS NULL)");  
    while (
    $dmysql_fetch_array($r)) {  $nome[]=$d$count++;                } mysql_close($dbcnx);  ?> 
    <form action="update_descrizione_campo.php" method="post"> 
    <input class="modulofrm" name="id_galleria" value="<?php echo $id ?>" readonly style="display: none;">
     

    Inserisci/modifica descrizione foto:

      

    <?php             for ($i=0$i $count$i++)   {   //echo $risultato[$i][1] . "
    ";    ?>   

    Nome Della Foto : 
    [b]<?php echo 
    $nome[$i][0] ?>[/b]
       <input class="
    modulofrm" name="nome" value="<?php echo $nome[$i][0?>" readonly style="display: none;">
      

    Titolo Foto :
       
    <input type="text" name="commenti" value="<?php echo $nome[0][1?>" size="60" />

       
    Breve Descrizione Foto :
       
    <input type="text" name="descrizione" value="<?php echo $nome[0][2?>" size="60" />

     
     <?php   ?>  <input type="submit" style="width:300px; color:#666" value="INSERISCI/MODIFICA CONTENUTI"/> 
    </form>
    e mando tutto
    Codice PHP:
    <?php  $id=$_POST["id_galleria"]; 
    $nome=$_POST["nome"];
     
    $descrizione=$_POST["descrizione"]; 
    $commenti=$_POST["commenti"]; 
     
    $nome addslashes($nome);
     
    $descrizione addslashes($descrizione);
     
    $commenti addslashes($commenti);
      include 
    '../include/connect_db.php'




     
    $sql="UPDATE foto_campo g SET g.commenti = '$nome' ,g.descrizione='$descrzione'  where g.id_galleria=$id;" ;   
    if (!
    mysql_query($sql,$dbcnx)) {      die('Error: 'mysql_error());                            }  mysql_close($dbcnx);  echo " inserito/modificato";  ?>

    ecco questo è il codice preciso ... io devo fare quell' update......

    ora provo a fare la modifica che dici te diabolikk...

    vediamo

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128
    ok, poi se non ti funziona ancora, posta il codice modificato e vediamo di risolvere

  8. #8
    Codice PHP:
    <?php            
    for ($i=0$i $count$i++)
      {
      
    //echo $risultato[$i][1] . "
    ";

      ?>
      Nome Della Foto : [b]<?php echo 
    $nome[$i][0] ?>[/b]

      <input class="
    modulofrm" name="nome[<?php echo $i ?>]" value="<?php echo $nome[$i][0?>" readonly style="display: none;">

      Titolo Foto :

      <input type="text" name="commenti[<?php echo $i ?>]" value="<?php echo $nome[0][1?>" size="60" />


      Breve Descrizione Foto :

      <input type="text" name="descrizione[<?php echo $i ?>]" value="<?php echo $nome[0][2?>" size="60" />


      <?php
      
    }
    ?>
    Codice PHP:
    <?php

    include '../include/connect_db.php';

    $id=$_POST['id_galleria'];
    $descrizione=$_POST['descrizione'];
    $nome $_POST['nome'];
    $commenti=$_POST['commenti' ];


       foreach(
    $nome as $name) {
        foreach(
    $descrizione as $descrizione) {
    $sql="UPDATE foto_campo g SET g.descrizione = '$descrizione' where g.id_galleria=$id;"

     if (!
    mysql_query($sql,$dbcnx)) { 
        die(
    'Error: 'mysql_error());
                               }
                               
                               
       foreach(
    $nome as $name) {
        foreach(
    $commenti as $commenti) {
    $sql="UPDATE foto_campo g SET g.commenti = '$commenti' where g.id_galleria=$id;"

     if (!
    mysql_query($sql,$dbcnx)) { 
        die(
    'Error: 'mysql_error());
                               }
    mysql_close($dbcnx);

    echo 
    "inserito/modificato";

    ?>

    cosi dici che va bene?

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128
    credo di no

    allora innanzitutto fammi capire: l'id della galleria è sempre lo stesso? (mi pare di sì).

    quindi tu facendo il $_POST hai un valore "secco" (l'id della galleria) e tre array e fin qui il codice è a posto.

    i cicli annidati che seguono sono un pò confusi, anche perchè le query di update che vai a fare alla fine hanno come unica clausola l'id della galleria...invece dovrebbero avere anche il nome! e poi tu metti nel set commenti = '$commenti', laddove la variabile $commenti è un array!

    quindi, spiegati quali sono gli errori, io scriverei così

    Codice PHP:

    $c 
    0// ci serve un contatore in modo che ad ogni name andiamo a recuperare il relativo commento e descrizione
    foreach($nome as $name) {
    $comm $commenti[$c];
    $desc $descrizione[$c];
    $sql=mysql_query("UPDATE foto_campo g SET g.commenti = '$comm',g.descrizione = '$desc'  where g.id_galleria=$id and nome = '$name'");  
    $c++;


  10. #10
    ora mi è decisamente più chiaro come funziona !!

    sostanzialmente a me sfuggiva come è strutturato al suo interno il post (stupidamente )

    quindi se ho capito è come una struct?

    spettacolo mi metto subito a sistemare!

    sei un grande grazie mille!!!

    (scusa l'errore sulla query in realtà è come l'hai scritta tua ma ero un pò di fretta e sto facendo anche altri mille lavori )

    grazie mille!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.