Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    Modifica record MySQL PHP

    ho una rubrica in mysql con 4 campi: id, nome, cognome, telefono.
    Ho creato uno script per la modifica di un record che dovrebbe funzionare così:
    Nella pagina di visualizzazione dell'archivio cliccando il pulsante modifica si accede a una pagina in cui ci sono 3 campi di testo riferiti a nome, cognome e telefono già preimpostati. Cliccando su Submit dovrebbero essere aggiornati i campi che sono stati modificati. lo script apparentemente funziona ma in realtà non aggiorna i campi modificati. Sembra che non esegua la query update. Riporto il codice.


    Codice PHP:
    <?
     $db_host 
    "localhost";
    $db_user "root";
    $db_password "";
    $db_name "rubrica";
    $password "";
    $db mysql_connect($db_host$db_user$db_password)
    or die (
    "Errore nella connessione. ");

    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. ");

    if(
    $_POST['Submit']){

    $id=$_POST['id'];
    $nome=$_POST['Nome'];
    $cognome=$_POST['Cognome'];
    $tel=$_POST['Telefono];

     echo $name;
    // Do update statement.
    $query=  ("UPDATE amici SET Nome='
    $nome', Cognome='$cognome', Telefono='$tel' WHERE id='$id'");
    mysql_query($query, $db);

    // Re-direct this page to select.php.

    header("location:Visualizza_evoluto.php");
    exit;

    }

    $id=$_GET['
    id'];
    $result=mysql_query("select * from amici where id='
    $id'");
    $row=mysql_fetch_assoc($result);
    mysql_close();
    ?>



    <html>
    <body>

    <form id="form1" name="form1" method="post" action="<? echo $PHP_SELF; ?>">


    Name :

    <input name="name" type="text" id="Nome" value="<? echo $row['
    Nome']; ?>"/>


    Email :

    <input name="email" type="text" id="Cognome" value="<? echo $row['
    Cognome']; ?>"/>


    Tel :

    <input name="tel" type="text" id="Telefono" value="<? echo $row['
    Telefono']; ?>"/>
    </p>



    <input type="submit" name="Submit" value="Submit" />
    </p>
    </form>
    </body>
    </html>

  2. #2
    qui manca l'apice di chiusura a Telefono --> $tel=$_POST['Telefono];


    togli le parentesi (aperture e chiusura) alla dichiarazione della variabile

    // Do update statement.
    $query= "UPDATE ami.....

    metti il tag php esteso <?php invece di <?

    Poi usa le nuove variabili <?php echo $_SERVER['PHP_SELF']; ?>

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    ho provato a modificare quello che dici ma ancora non funziona..
    l'ultima cosa da cambiare è in:
    <form id="form1" name="form1" method="post" action="<? echo echo $_SERVER['PHP_SELF']; ?>">

    giusto?
    sembra che salti completamente update, ho provato a mettere nell'update al posto delle variabili $nome ecc.. delle stringhe tipo 'ciao' e così funziona.
    per vedere se riesce a prendere dalla form i nomi correttamente ho fatto prima e dopo update
    echo $nome;
    e stampa a video il nome modificato, però non sostituisce quello della vecchia stringa..

  4. #4
    beh ... a posto tanto per dire:

    <? echo echo $_SERVER['PHP_SELF']; ?>">

    questo non mi pare lo sia.

    Poi dovresti controllare il contenuto di POST e non dare per scontato ci sia quello che aspetti tu.

    Poi un errore banale nel "name" usato nel form e cercato poi in post....

    $nome=$_POST['Nome'];
    echo $name;
    <input name="name"

    mettiti d'accordo yourself....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    si hai ragione... me ne ero accorta di quella cosa e l'ho cambiata ma ora mi dà un errore:

    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\rubrica\modifica2.php:26) in C:\xampp\htdocs\rubrica\modifica2.php on line 35

    questo errore lo stampa a video quando clicco su Submit

  6. #6
    dimenticavo, nella stessa pagina mi stampa (l'ho rischiesto io con echo) le nuove variabili prese da POST correttamente

  7. #7
    Originariamente inviato da kiara3306
    dimenticavo, nella stessa pagina mi stampa (l'ho rischiesto io con echo) le nuove variabili prese da POST correttamente
    togli tutti gli invii verso il browser che ci sono prima dell'header

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Ora che gli ho tolti non mi dà errore, però quando clicco su submit mi riappare la pagina iniziale e il database non è aggiornato...

  9. #9
    Originariamente inviato da kiara3306
    Ora che gli ho tolti non mi dà errore, però quando clicco su submit mi riappare la pagina iniziale e il database non è aggiornato...
    si ... puo' essere. Ma a questo punto sarebbe un indovinello rispondere con un senso logico "dopo" che hai modificato lo script .... posta lo script modificato.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    ecco lo script

    Codice PHP:
    <? $db_host "localhost"$db_user "root"$db_password ""$db_name "rubrica"$password ""$db mysql_connect($db_host$db_user$db_password) or die ("Errore nella connessione. "); mysql_select_db($db_name$db) or die ("Errore nella selezione del database. "); if($_POST['Submit']){ $id=$_POST['id']; $name=$_POST['Nome']; $cognome=$_POST['Cognome']; $tel=$_POST['Telefono']; $query="UPDATE amici SET Nome='$name', Cognome='$cognome', Telefono='$tel' WHERE id='$id'"mysql_query($query$db)or die(mysql_error()); header("location:Visualizza_evoluto.php"); exit; } $id=$_GET['id']; $result=mysql_query("select * from amici where id='$id'"); $row=mysql_fetch_assoc($result); mysql_close(); ?> <html> <body> <form id="form1" name="form1" method="post" action=" <?php echo $_SERVER['PHP_SELF']; ?> "> 

    Name : <input name="Nome" type="text"  value="<?php echo $row['Nome']; ?>"/> 
     Cognome : <input name="Cognome" type="text"  value="<?php echo $row['Cognome']; ?>"/> 
     Telefono : <input name="Telefono" type="text"  value="<?php echo $row['Telefono']; ?>"/> </p>

     <input type="submit" name="Submit" value="Submit"/> </p> </form> </body> </html>

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.