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