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

Discussione: update in php

  1. #1

    update in php

    dove sbaglio?..cerco di modificare un record nel db ma puntualmente mi dice che devo dichiarare la variabile id_news presente nella stringa di update...questo è il codice....ciao

    Codice PHP:
    ?>
    <?php

    include('connessione.php');

    if(isset(
    $_GET['id'])){
    $id_news=$_GET['id'];
    $query="SELECT * FROM news WHERE id_news ='$id_news'";    
        if(
    mysql_query($query,$connection)){
        
    $risultato=mysql_query($query);
    $riga=mysql_fetch_array($risultato);
    }
    }
    ?>
    <form action="<?php print $_SERVER['PHP_SELF']?>" method="post">
    <input type="text" name="titolo" value="<?php echo $riga['titolo']?>"/> titolo

    <textarea name="abstract" rows="5" cols="40" value="<?php echo $riga['abstract']?>"/> </textarea>abstract

    <textarea name="testo" rows="5" cols="40" value="<?php echo $riga['testo']?>"/> </textarea>testo

    <input type="text" name="data" value="<?php echo $riga['data']?>"/> idata

    <input name="id" type="hidden" value="<?php echo $riga['id_news']; ?>" />
    <input type="submit" name="invia" value="invia" />
    </form>
    <?php
    if(isset($_POST['invia'])){
    $id_utente=$_POST['id'];
    $titolo=$_POST['titolo'];
    $abstract=$_POST['abstract'];
    $testo=$_POST['testo'];
    $data=$_POST['data'];
    $query "UPDATE news SET titolo='$titolo',abstract='$abstract',testo='$testo',data='$data'
     WHERE id_news='
    $id_news'";
    }
    if (
    mysql_query($query,$connection)){
    echo
    "aggiornato";
    }else{
    echo
    "non aggiornato";
    }
    ?>

  2. #2
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    Re: update in php

    Originariamente inviato da gino_pupo
    dove sbaglio?..cerco di modificare un record nel db ma puntualmente mi dice che devo dichiarare la variabile id_news presente nella stringa di update...questo è il codice....ciao

    Codice PHP:
    ?>
    <?php

    include('connessione.php');

    if(isset(
    $_GET['id'])){
    $id_news=$_GET['id'];
    $query="SELECT * FROM news WHERE id_news ='$id_news'";    
        if(
    mysql_query($query,$connection)){
        
    $risultato=mysql_query($query);
    $riga=mysql_fetch_array($risultato);
    }
    }
    ?>
    <form action="<?php print $_SERVER['PHP_SELF']?>" method="post">
    <input type="text" name="titolo" value="<?php echo $riga['titolo']?>"/> titolo

    <textarea name="abstract" rows="5" cols="40" value="<?php echo $riga['abstract']?>"/> </textarea>abstract

    <textarea name="testo" rows="5" cols="40" value="<?php echo $riga['testo']?>"/> </textarea>testo

    <input type="text" name="data" value="<?php echo $riga['data']?>"/> idata

    <input name="id" type="hidden" value="<?php echo $riga['id_news']; ?>" />
    <input type="submit" name="invia" value="invia" />
    </form>
    <?php
    if(isset($_POST['invia'])){
    $id_utente=$_POST['id'];
    $titolo=$_POST['titolo'];
    $abstract=$_POST['abstract'];
    $testo=$_POST['testo'];
    $data=$_POST['data'];
    $query "UPDATE news SET titolo='$titolo',abstract='$abstract',testo='$testo',data='$data'
     WHERE id_news='
    $id_news'";
    }
    if (
    mysql_query($query,$connection)){
    echo
    "aggiornato";
    }else{
    echo
    "non aggiornato";
    }
    ?>
    si perchè non vede la variabile probabilmente.. prova a dichiararla anche dopo il:
    codice:
    if(isset($_POST['invia']))
    nel senso che quando fai il submit, questo controllo ritorna false:
    codice:
    if(isset($_GET['id']))
    Voglio l'alt+s anche per FF

  3. #3
    ora ci do un occhiata e ti faccio sapere...
    ti ringrazio...ciao

  4. #4
    nulla non funge mi da...

    Codice PHP:
     Undefined variablequery in c:\programmi\easyphp1-8\www\roberto\robertonews\modifica.php 
    e anche se provo ad aggiornare mi da...

    Codice PHP:
    NoticeUndefined variableid_news in c:\programmi\easyphp1-8\www\roberto\robertonews\modifica.php on line 57 
    cioè nella linea:
    Codice PHP:
    $query "UPDATE news SET titolo='$titolo',abstract='$abstract',testo='$testo',data='$data' WHERE id_news='$id_news'"

  5. #5
    Non escludo che le variabili via post non vengano passate per semplice motivo.

    Dovresti aggiungere l'enctype al tag form, altrimenti stringhe di dati mediamente grandi si perderebbero.

    Prova ad aggiungere questo:
    Codice PHP:

    <form action=<?php print $_SERVER['PHP_SELF']?>"  [COLOR=royalblue][B]enctype="multipart/form-data"[/B][/COLOR]   method="post">
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da gino_pupo
    nulla non funge mi da...

    Codice PHP:
     Undefined variablequery in c:\programmi\easyphp1-8\www\roberto\robertonews\modifica.php 
    e anche se provo ad aggiornare mi da...

    Codice PHP:
    NoticeUndefined variableid_news in c:\programmi\easyphp1-8\www\roberto\robertonews\modifica.php on line 57 
    cioè nella linea:
    Codice PHP:
    $query "UPDATE news SET titolo='$titolo',abstract='$abstract',testo='$testo',data='$data' WHERE id_news='$id_news'"
    prova a postare il codice...
    Voglio l'alt+s anche per FF

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Secondo me è dovuto al fatto che :

    $id_news : viene settata solo se è $_GET ma viene utilizzata solo con $_POST quindi nel ciclo php se clicchi su "Invia" provi ad usare nel test [b]if(isset($_POST['invia']))[b] una variabile definita solo nel caso di un $_GET.

    $query : se arrivi sulla tua pagina senza parametri (che siano GET o POST) il test [b]if (mysql_query($query,$connection))[b] viene comunque eseguito con una variabile che non è mai stata settata.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da badaze
    Secondo me è dovuto al fatto che :

    $id_news : viene settata solo se è $_GET ma viene utilizzata solo con $_POST quindi nel ciclo php se clicchi su "Invia" provi ad usare nel test [b]if(isset($_POST['invia']))[b] una variabile definita solo nel caso di un $_GET.

    $query : se arrivi sulla tua pagina senza parametri (che siano GET o POST) il test [b]if (mysql_query($query,$connection))[b] viene comunque eseguito con una variabile che non è mai stata settata.
    uhm.. non avevo detto questo? forse non si era capito
    Voglio l'alt+s anche per FF

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da dops
    uhm.. non avevo detto questo? forse non si era capito
    Non penso che gino aveva capito.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    Vi ringrazio per la disponibilità.
    In locale funziona alla grande anche se appena entro nella pagina modifica mi visualizza aggiornato anche se non compio azioni...
    come posso agire?

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.