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

Discussione: passaggio variabile

  1. #1

    passaggio variabile

    ciao,

    ho creato un sistema rudimentale per editare in una textarea il testo presente all'interno di un campo di una tabella.
    funziona tutto, fino al momento del submit del testo modificato.
    codice:
    <form method="post" action="modifica.php">
    <?php
    
    include("dbconnect.php");
    
    $table = "studi";
    
    $result = mysql_query("SELECT " . $_REQUEST["campo"]  . " FROM $table WHERE id_studio = " . $_REQUEST["id_studio"]  . "")or die(mysql_error());
    while ($data = mysql_fetch_assoc($result)) {
     
    $row.="
    <textarea name=\"text\" id=\"text\" cols=\"80\" rows=\"20\"> ".$data[$_REQUEST["campo"]]."</textarea>\n";
    
    }
    
    echo $row."
    ";
    echo "<input type=\"submit\"  value=\"Submit\" >";
    
    ?>
    </form>
    nel file modifica.php che mi inserisce il testo modificato, ricevo la variabile "campo" , ma non "id_studio"

    codice:
    include("dbconnect.php");
    
    $dati = $_POST['text'];
    
    $addtext = MYSQL_QUERY("UPDATE studi SET " . $_REQUEST["campo"]  . " = '{$dati}' WHERE id_studio= " . $_REQUEST["id_studio"]  . "")or die(mysql_error());
    come dicevo ho provato a stampare la query e mi visualizza il valore di ["campo"], ma non ["id_studio"]

    non capisco perchè!!!

  2. #2
    ma quando lo passi l' id_studio dal form?

  3. #3
    ciao, grazie per la risposta.
    ho provato anche ad aggingere l'id_studio dentro al form così:

    $row.="
    <textarea name=\"text\" id=\"text\" cols=\"80\" rows=\"20\"> ".$data[$_REQUEST["campo"]]."".$data[$_REQUEST["id_studio"]]."</textarea>\n";
    ma non so se è corretto.

  4. #4
    l'id studio non ti conviene metterlo in un campo hidden?

  5. #5
    Originariamente inviato da pugia
    l'id studio non ti conviene metterlo in un campo hidden?
    e cioè come?

  6. #6
    Questa riga:
    codice:
    $row.="
    <textarea name=\"text\" id=\"text\" cols=\"80\" rows=\"20\"> ".$data[$_REQUEST["campo"]]."</textarea>\n";
    la fai diventare così:
    codice:
    $row.="
    <textarea name=\"text\" id=\"text\" cols=\"80\" rows=\"20\"> ".$data[$_REQUEST["campo"]]."</textarea><input type=\"hidden\" name=\"id_studio\" value=\"".$data[$_REQUEST["id_studio"]]."\">\n";
    e nel file modifica.php
    codice:
    $addtext = MYSQL_QUERY("UPDATE studi SET " . $_REQUEST["campo"]  . " = '{$dati}' WHERE id_studio= " . $_POST["id_studio"]  . "")or die(mysql_error());
    quelle graffe te le ho messe in rosso perché creod che non servano...

  7. #7
    niente da fare, non mi passa l'id_studio

    allora ho provato con le sessioni:

    nel file, registro la variabile di sessione:

    $_SESSION['id_studio'] = $_REQUEST["id_studio"];

    e nel file modifica.php che riceve la variabile metto nella query:

    WHERE id_studio= " . $_SESSION["id_studio"] . "";

    così me lo passa l'id_studio, solo che continua a restarmi l'errore sql:

    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '= a.Sommario WHERE id_studio= 47' at line 1

    ma che cavolo è?? :master:

  8. #8
    li hai messi gli apici dopo l'uguale nel posto dove inizia l'errore? mi sembra di no...

  9. #9
    intendi così?

    WHERE id_studio= '" . $_SESSION["id_studio"] . "'"

    non funziona lo stesso

  10. #10
    non ho ben capito dove sia, però quel a.Sommario dovrebbe essere tra apici perché è un testo

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.