Problema con update

Ciao

Sono ritornato sui miei passi. ossia con le textbox e ho iniziato a sostituire la città, la cosa più semplice. L'update l'ha fatto, ma andando a vedere su myphpadmin al campo città, invece di esserci "roma", c'è 80 Come mai ??????


index.php

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

echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';

?>
<form action= 'aggiornaprofilo.php' method="POST">

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

echo 'Data di nascita:  <input type="text" name="datadinascita"  maxlength="10" size ="32"> <br> <br>';

echo "Città: ";

echo "<select name=\"citta\">";
foreach($citta as $chiave => $valore){     // c'è un cartellino giallo su foreach
    echo "<option value=\"$chiave\">$valore";
echo "</option> ";
}
 echo "</select>";


//echo 'Città:  <input type="text" name="citta"  maxlength="80" size ="32"> <br> <br>';
echo 'provincia:  <input type="text" name="provincia"  maxlength="30" size ="32"> <br> <br>';

    echo "<center> <br><br>";
                    echo '<input type="submit" name="reg" value="Invio iscrizione" />';
                    echo '<input type="submit" name="uscita" value="Uscita" />';
                echo "</center> </form>";

?>

aggiornamentoprofilo.php

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

echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'; 

foreach($_POST as $key => $value) $_POST[$key] = mysql_real_escape_string(strtolower(trim ($value)));

extract($_POST,EXTR_SKIP);


//$email NON VIENE RECUPERATA DA NESSUNA PARTE, RIVEDILA

if(isset($citta, $provincia)){

echo "<h1> Esecuzione in corso dell'aggiornameto profilo... </h1>"; 

//$qry="UPDATE utenti  SET attivo='1' WHERE email='"$email'"'; 

$qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia' 
    WHERE email = '[email protected]'";  

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

if (mysql_query($qry)){ 
    echo "... Aggiornamento effettuato correttamente...."; 
     
} else { 
    echo "Errore: Non è stato possibile effettuare l'aggiornamento richiesto" or die (mysql_error()); 
} 

}

?>

Cosa mi è cambiato ???? Vado a cena, ci si vede domani, magari la notte porta buon cosiglio...
 
Semplice nel foreach a value tu metti la chiave non il nome della città
PHP:
foreach($citta as $chiave => $valore){  
    echo "<option value=\"$chiave\">$valore"; 
echo "</option> "; 
}

Potresti metterci direttamente il valore
PHP:
foreach($citta as $valore){  
    echo "<option value=\"$valore\">$valore"; 
echo "</option> "; 
}
 
Ciao

Ciao Nefyt,

Sei un grande, messo come dicevi tu mi updata la città mettendoci la città. L'unica cosa che non capisco è la seguente. prima com'era impostata:

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

Faceva la'ggiornamento, ma andando su phpmyadmin mi dava valore 80 che corrisponde a Roma, invece se metto Napoli mi da valore 57 e così via. Questo numero da dove se lo pesca ??? Mi sono contato una per una le città nell'array che ho fatto e pensavo che allottantesimo posto corrispondesse Roma, invece è all'81nesimo posto. Stessa cosa per napoli che si trova al 58esimo posto nell'array. Quindi a questo punto non capisco il valore che gli da lo prende a casaccio ???? Però se rimetto Roma mi ridà sempr elo stesso valore 80. Era solo per capire. Ora metto la select delle provincie, e esperiamo che vada. Se non dovesse andare come ieri che debbo fare ???? Mi do na chiodata ????? Spero che oggi tu sia disponibile o qualcun'altro.....
 
Ciao

Arisalve a tutti e buona domenica a tutti,

Questo è il bollettino meteo che vi parla oltre al portavoce dell'operatore paperinik, che veglia sempre su di voi e vi protegge (essendo un erore...). Dopo queste cazzate passiamo al sodo, anche la provincia c'è stato il parto. Ed ora non rimane che capire bene come sistemare la questine del campo data visto che è un po' complicata. Se riesco a sistemare anche quella credo che a Roma nevicherà.

Yuppi, yuppi, yuppiiiiiiiiiii.
 
Ciao Nefyt,

Sei un grande, messo come dicevi tu mi updata la città mettendoci la città. L'unica cosa che non capisco è la seguente. prima com'era impostata:

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

Faceva la'ggiornamento, ma andando su phpmyadmin mi dava valore 80 che corrisponde a Roma, invece se metto Napoli mi da valore 57 e così via. Questo numero da dove se lo pesca ??? Mi sono contato una per una le città nell'array che ho fatto e pensavo che allottantesimo posto corrispondesse Roma, invece è all'81nesimo posto. Stessa cosa per napoli che si trova al 58esimo posto nell'array. Quindi a questo punto non capisco il valore che gli da lo prende a casaccio ???? Però se rimetto Roma mi ridà sempr elo stesso valore 80. Era solo per capire. Ora metto la select delle provincie, e esperiamo che vada. Se non dovesse andare come ieri che debbo fare ???? Mi do na chiodata ????? Spero che oggi tu sia disponibile o qualcun'altro.....
Semplice, hai iniziato a contare gli elementi dell'array da 1 invece che da 0, infatti un array inizia dall'elemento 0, tutto qui il mistero
 
Ciao

Ciao,

Alla fine ci sono arrivato anche io da solo :P Sembra strano ma è vero. Una delle tante cose che ancora no ho risolto è la stramaledetta data di nascita. L'sho scritta anche nello stile ameircano nel camp text, ma niente non gli piace :(
 
Ciao,

Alla fine ci sono arrivato anche io da solo :P Sembra strano ma è vero. Una delle tante cose che ancora no ho risolto è la stramaledetta data di nascita. L'sho scritta anche nello stile ameircano nel camp text, ma niente non gli piace :(
Se provi ad eseguire la query da phpmyadmin con valori manuali funziona?
 
Dato che l'update funziona, se vuoi aprine pure un altra e spiega in modo dettagliato che prove hai fatto
 
Ciao

Dato che l'update funziona, se vuoi aprine pure un altra e spiega in modo dettagliato che prove hai fatto

P.S.: ç'update funziona perkè c'è la mia email, ma se tolgo l'email non funziona. ossia la query è la seguente:

PHP:
$qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia', 
    anno_diploma='$anno_diploma' 
    WHERE email = '[email protected]'";

A posto di questa riga qua:

PHP:
WHERE email = '[email protected]'";

Dovrei sostituila con:

PHP:
 WHERE id = 'id_$SESSION'";
Se non ho capito male ???? e il richiamo dovrebbe essere:

PHP:
$id = id['id_$SESSION'];


Se ho scritto na cazzata riprovaremi pure, sono andato a memoria......
 
Più che altro non capisco con che logica hai memorizzato

devi settare una sessione con le credenziali dell'utente e per ricavarla ti basta startare le sessioni con session_start() e gestirlo come elemento di un array in questo caso di $_SESSION

quindi
PHP:
$qry = "UPDATE utenti SET  
    datadinascita='$datadinascita',  
    citta='$citta',  
    provincia='$provincia',  
    anno_diploma='$anno_diploma'  
    WHERE email = '".$_SESSION['id_utente']."'";
 
Più che altro non capisco con che logica hai memorizzato

devi settare una sessione con le credenziali dell'utente e per ricavarla ti basta startare le sessioni con session_start() e gestirlo come elemento di un array in questo caso di $_SESSION

quindi
PHP:
$qry = "UPDATE utenti SET  
    datadinascita='$datadinascita',  
    citta='$citta',  
    provincia='$provincia',  
    anno_diploma='$anno_diploma'  
    WHERE email = '".$_SESSION['id_utente']."'";

Hai centrato in pieno quello che volevo scrivere. Appunto avevo dettoi che avevo scritto na kazzata :P

P.S.: Di prove per la data non ho fatto in pratica niente solo la selezione in tre atti.....
 

Discussioni simili