Visualizzazione risultati 1 fino 3 di 3

Discussione: [mysql] problema update: non si aggiorna la tabella

  1. #1
    Guest

    Predefinito [mysql] problema update: non si aggiorna la tabella

    Salve a tutti ragazzi,

    Ho il seguente problema. Un form d'iscrizione aad un sito che ho fatto, l'iscrizione e l'attivazione dell'account viene inviata via email, basta cliccare sul link dell'email ricevuta e l'account si attiva. Il login è fatto con le session sfrutta username e passoword ovviamente e fin qui tutto ok. Una volta registrato al sito, bisogna acettare il regolamento e una volta chekkato su accetta si abilita il tasto avanti. E fino qui anche tutto ok. Dopo di che c'è il riassunto dei dati principali. ossia Cognome, nome, username ed email. E fino a qui ci siamo ancora. Ora viene il problema. Avevo pensato di aggiungere qualche altro dato per completare il profilo dell'utente che si è registrato. E a dire il vero l'ho provato su tre dati che sono i seguenti:

    1) datadinascita --> formato in visualizzazione profilo data italiana, invece sul db è stile americano;

    2) Città, l'ho fatta a mo' di selezione, e in un array;

    3) Provincia, idem sempre a selezione per intenderci </select> </option> e sempre in array.

    Ora se vado a fare l'update della tabella, non mi viene aggiornato nessun dato. Mi chiedo come mai ??? Dove sbaglio ??? Non riesco a capire. Vi posto dei codici:

    Questa è la tabella utenti, innanzi tutto:

    Codice PHP:

    create table utenti
    (

    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    nome VARCHAR(30) NOT NULL,
    cognome VARCHAR(30) NOT NULL,
    username VARCHAR(30) NOT NULL,
    email VARCHAR(40) NOT NULL,
    password VARCHAR(255) NOT NULL,
    id_immagine INT(255) NOT NULL,
    attivo ENUM('1', '0') DEFAULT '0',
    accettatermini ENUM('1', '0') DEFAULT '0',
    datadinascita date NOT NULL,
    sesso varchar(8) NOT NULL,
    Occupazione varchar(50)NOT NULL,
    statocivile varchar(12) NOT NULL,
    citta varchar(80) NOT NULL,
    provincia varchar(5) NOT NULL,
    titolo_studio varchar(30) NOT NULL,
    anno_diploma year NOT NULL,
    titolo_laurea varchar(30) NOT NULL,
    anno_laurea year NOT NULL,
    PRIMARY KEY (id)
    );
    Questo è la parte riguardante alle selezioni di giorno/mese/anno + città e provincia e sta il tutto nell'area riservata (ossia dopo che haio eseguito la prima registrazione e attivato l'account). Si chiama paginaris.php

    Codice PHP:

    <!--Inizio procedura per accettazione dei termini e visualizzazione della seconda e terza pagina -->

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
    </head>
    <body>
    <center> <br> <br>
    <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js'></script>
    <!-- <body style='background:#000'> -->

    <link rel="stylesheet" type="text/css" href="coloredisfondo.css">



    <style>

    input[type='button']{padding:10px;}
    </style>
    <?php
    require_once("connetti.php");
    $id_user = $_GET['id']; # o $_GET['username'];
    $page = (int)$_GET['page'];
    if(EMPTY(
    $page)) $page = 1;
    $query_user = "SELECT * FROM utenti WHERE id='$id_user'";
    $result_query = mysql_query($query_user);
    $assoc_rows = mysql_fetch_assoc($result_query);
    switch(
    $page)
    {
    case
    1:
    ?>
    <div style='width:600px; font-family:Comic Sans MS'>

    <!--Inizio bordatura testo arrotondato-->

    <style type="text/css">
    .bordato{
    border:2px solid #000000;
    border-radius: 80px 80px 80px 80px;
    -moz-border-radius: 80px 80px 80px 80px;
    -webkit-border-radius: 80px 80px 80px 80px;
    }
    </style>
    <body>
    <div class="bordato">
    <center>BENVENUTI NEL SOCIAL NETWORK PIU' LIBERO DEL MONDO
    =================================================================
    </center>

    <p align="left">

    Se stai leggendo questo regolamento è perchè ti sei iscritto a tale sito e di conseguenza, prima di andare avanti, devi accettare tre regole fondamentali. <br/>

    Tali regole, servono per non creare dispute e conversazioni spiacevoli sia con gli utenti, sia con gli amministratori.

    Non bisogna essere maggiorenni per iscriversi. Basta avere un'età dai 12 anni in su. Le tre regole fondamentali sono le seguenti: <br></p>
    <p align="left">
    1) Vietato bestemmiare pena si viene automaticamente cancellati dal sito senza possibilità di registrarsi con un ulteriore username; <br/></p>
    <p align="left">

    2) Vietato parlare di politica. La politica è causa di discussioni e punti di vista differenti l'uno dall'altro. Ci saranno tre avvisi,
    dopo di che pena esclusione dal sito e cancellazione perenne dal database;<br/> </p>

    <p align="left">
    3) Rispettare gli utenti iscritti. <br/> </p>

    <p align="left">

    Se accetti le seguenti regole, clicca su "avanti" altrimenti su "cancella", e sarai automaticamente cancellato dal database.

    Grazie di aver letto il regolamento e buon divertimento.
    </p>
    <input id='regolamento' type='checkbox' value='Accetta il regolamento'>Accetta il regolamento

    <br><br>
    <input type="button" onClick="window.location.href='logout.php';" style='padding:10px' value="Logout" />
    <input type="button" onClick="window.location.href='cancellazione.php';" style='padding:10px' value="Cancellati" />

    <input type='button' onclick='getpage("<?=$page+1?>")' value='Avanti' disabled='disabled'/>



    </div>



    <?php
    case 2:

    //break;
    ?>
    <link rel="stylesheet" type="text/css" href="coloredisfondo.css">


    <?php

    // Ricerca e visualizza l'utente che si è connesso con le info

    $query = mysql_fetch_array(mysql_query("SELECT * FROM utenti WHERE id='".$_SESSION['id']."'"));


    echo
    "<br> <br>";
    echo
    '<p align="left">';
    echo
    " Cognome: ". $query['cognome'];
    echo
    '<p align="left">';
    echo
    '<p align="left">';
    echo
    "Nome: ". $query['nome'];
    echo
    "<br> ";
    echo
    '<p align="left">';
    echo
    "Username: ". $query['username'];
    echo
    "<br>";
    echo
    '<p align="left">';
    echo
    "EMail: ".$query['email'];

    ?>

    <p align="left">

    Data di Nascita Giorno:

    <?php

    //giorno

    echo "<select name=\"giorno\">";
    echo
    "<option value=\"\"> seleziona </option>";
    for(
    $gg=1; $gg<=31; $gg++){
    if(
    strlen($gg)< 2){$gg = "0".$gg;}
    echo
    "<option value=\"$gg\"> $gg </option>";
    }
    echo
    "</select>";
    ?>

    <align="left">

    <?php
    require_once("arraylistecitta.php");
    ?>

    Mese:

    <?php

    echo "<select name=\"mese\">";
    foreach(
    $mese as $chiave => $valore){
    echo
    "<option value=\"$chiave\">$valore";
    echo
    "</option> ";
    }
    echo
    "</select>";

    echo
    " Anno: ";

    //anno
    $da=1960;
    $al=2014;
    echo
    "<select name=\"anno\">";
    echo
    "<option value=\"\"> seleziona </option>";
    for(
    $aa=$da; $aa<=$al; $aa++){
    echo
    "<option value=\"$aa\"> $aa </option>";
    }
    echo
    "</select>"
    ?>
    <align="left">

    <br>
    <p align="left">

    Città:

    <?php

    echo "<select name=\"citta\">";
    foreach(
    $citta as $chiave => $valore){
    echo
    "<option value=\"$chiave\">$valore";
    echo
    "</option> ";
    }
    echo
    "</select>";
    ?>
    <align="left">

    Provincia:

    <?php
    echo "<select name=\"province\">";
    foreach(
    $province as $chiave => $valore){
    echo
    "<option value=\"$chiave\">$valore";
    echo
    "</option> ";
    }
    echo
    "</select>";

    ?>




    <br><br> <center>
    <input type='button' onclick='getpage("<?=$page-1?>")' value='Indietro' ?>
    <input type='button' onclick='getpage("<?=$page+1?>")' value='Avanti' ?>
    <!--<input type="button" onClick='getpage("<?=$page+1?>")' style='padding:10px' value="Aggiorna Profilo" />-->


    <form action="aggiornaprofilo.php" method="post">

    <input type="submit" style='padding:10px' value="Aggiorna Profilo" />

    <input type="button" onClick="window.location.href='logout.php';" style='padding:10px' value="Logout" />

    </form>

    </center>
    <?php
    break;
    case
    3:
    ?>
    <input type='button' onclick='getpage("<?=$page-1?>")' value='Indietro' ?>
    <?php
    break;
    }
    ?>
    <script>
    $('input[id=regolamento]').click(function(){
    var input = $('input[value="Avanti"]');
    if($(this).is(':checked')) input.removeAttr('disabled');
    else input.attr('disabled','disabled');
    });
    function getpage(page)
    {
    location.href = '?page='+page;
    }
    </script>
    E questa è il file chiamato aggiornaprofilo.php

    Codice PHP:

    <?php
    require_once("connetti.php");


    if (!isset (
    $_GET['campo'])) { $_GET['campo'] = -1; }
    $campo= mysql_escape_string ($_GET['campo']);


    $sql = ("SELECT * FROM utenti WHERE campo = '$campo'");
    //inizializzi le sessioni
    session_start();

    //$id = mysql_real_escape_string(strtolower(trim ($_GET['id'])));

    $datadinascita = mysql_real_escape_string(strtolower(trim ($_GET['datadinascita'])));
    $citta = mysql_real_escape_string(strtolower(trim ($_GET['citta'])));
    $provincia = mysql_real_escape_string(strtolower(trim ($_GET['provincia'])));

    //$email = mysql_real_escape_string(strtolower(trim ($_GET['email'])));


    $sql = "UPDATE utenti SET datadinascita='$datadinascita', citta='$citta', provincia='$provincia' WHERE campo = '$campo'";

    //$qry = "UPDATE utenti SET datadinascita='$datadinascita', citta='$citta', provincia='$provincia' WHERE email='$email' AND id='$id'";


    if (mysql_query($sql)) {
    echo
    "Aggiornamento effettuato";

    } else {
    echo
    "Errore: nell'aggiornamento ".mysql_error();
    }
    ?>
    Aiutatemi per favore nonso più dove sbattere la testa, grazie in anticipo

  2. #2
    Guest

    Predefinito

    E tutto ciò cosa ha a che vedere con phpBB?

  3. #3
    Guest

    Predefinito iao

    Scusa simpleticket,

    Credo di aver sbagliato nel postare la sessione. Cercavo php ma noon sono riuscito a trovarlo, se gentilmente me la puoi spostare tu la conversazione, te ne sare grato. E scusa per l'errore. Pensavo che fosse la stessa cosa o cosa simile.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •