select da riempire tramite text

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve ragazzi,

Mi rivolgo a Borgo, perchè all'epoca mi aiutò kui a risolvere un piccolo problema: il problema è il seguente. Vorrei fare in modo che quando vado a compilare il profilo ad esempio il campo"occupazione", siccome sono infinite le occupazioni, ci dovrebbe essere un campo di tipo text quindi input, se nella select (menu a discesa) c'è l'occupazione, dovrebbe comparire un messaggio "è presente nella select", altrimenti l'aggiunge. posto il codice che mi avevi fatto te borgo:

PHP:
//Occupazione inserimento a manina e integrazione automatica della lista
 

 $q=mysql_query("SELECT occupazione FROM utenti");
$vuota=mysql_num_rows($q);
if($vuota > 0){//fa vedere la select solo se ci sono categorie e mostra solo il'input nuovacategoria, in pratica solo la prima volta
	echo "Occupaziome: <select name=\"occupazione\">";
		echo "<option value=\"\">-seleziona-</option>";
	while($riga=mysql_fetch_array($q)){
		echo "<option value=".$riga['occupazione']."\">".$riga['occupazione']."</option>";
	}//fine while
echo "</select> ";
}//fine if vuota
?>
Occupazione da inserire: <input type='text' name='occupazione'>

La select dovrebbe comparire in unsecondo tempo, ossia quando compilo con la text, invece, compare subito. Si può sistemare per favore ???? In modo tale che quando è vuota, non coimpare e poi al primo inserimento dell'occupazione compare ???? Grazie. E buona domenica a tutti.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao Borgo,

Ho un piccolo problema. Mi rivolgo a te perchè il codice me l'avevi dato te. Dunque il problema è il seguente. Ho un campo formato text che si chiama occupazione. Siccome come campo è abbastanz avasto e ci sono impieghi di tutti i generi, avevo pensato mano a mano che le persone si iscrivevano e poi aggiornavano il loro profilo, di riempire la lista a discessa (per intederci). Quindi tu inserisci un 'impiegho e automaticamente viene compilata nella lista. Fino a qua sembrerebbe nessuno problema. Il problema sorge, quando devo selezionare l'occupazione dalla lista (che magari c'è già), e non mi fa l'aggiornamento. In pratica, l'aggiornamento me lo fa solo nel campo di input. Questo era la tua vecchia idea:

presa dal file rivistapapà4.php (ricordi ????)
PHP:
<?php
$q=mysql_query("SELECT descrizione FROM tblcategoria ORDER BY descrizione");
$vuota=mysql_num_rows($q);
if($vuota > 0){//fa vedere la select solo se ci sono categorie e mostra solo il'input nuovacategoria, in pratica solo la prima volta
	echo "Categoria: <select name=\"categoria\">";
		echo "<option value=\"\">-seleziona-</option>";
	while($riga=mysql_fetch_array($q)){
		echo "<option value=\"".$riga['descrizione']."\">".$riga['descrizione']."</option>";
	}//fine while
echo "</select> ";
}//fine if vuota

?>
	Nuova categoria da inserire: <input type='text' name='nuovacategoria'>

In pratica c'è una tabella categoria e una tabella componenti e funziona magnificamente perkè l'ho riprovato. Però a me serve con un unica tabella che è sempre quella utenti. Come si potrebbe fare ??? Spero in una tua mano. Grazie.e
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
cioa
non ho capito bene: nella tabella utenti hai il campo "occupazione"?
se si basta che tu modifici
PHP:
<?php
$q=mysql_query("SELECT occupazione FROM utenti ORDER BY occupazione");
$vuota=mysql_num_rows($q);
if($vuota > 0){//fa vedere la select solo se ci sono categorie e mostra solo il'input nuovacategoria, in pratica solo la prima volta
    echo "Categoria: <select name=\"occupazione\">";
        echo "<option value=\"\">-seleziona-</option>";
    while($riga=mysql_fetch_array($q)){
        echo "<option value=\"".$riga['occupazione']."\">".$riga['occupazione']."</option>";
    }//fine while
echo "</select> ";
}//fine if vuota
?>
    Nuova occupazione da inserire: <input type='text' name='nuovaoccupazione'>

poi per l'inserimento devi verificare che
1. entrambi non siano vuoti
2. se è vuoto il post dalla select devi inserire il valore che proviene dall'input nuovaoccupazione
2a. in questo caso verificare che l'occupazione comunque non esista di già ed è stato un errore dell'utente
3. se è vuoto il post nuovaoccupazione devi inserire il valore proveniente dalla select
4. se sono entrambi pieni prendi comunque il valore dalla select
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Si, ho il campo occupazione, cheandrà a finere per essere compilato non in fase di inserimento dati ma di aggiornamento profilo. Il problema è che quando vado a prendere un'occupazione nella select inserita da text, non mi aggiorna tale occupazione selezionata. Curiosità, del codice che ti ho dato hai modificato qualcosa ???? E un'alta cosa, come faccio la verifica inserendo dal text che non ci sia anche nella select ??? Poi mi sono dimenticato che c'è il file aggiornaprofilo.php, strutturato in questa maniera:

aggiornaprofilo.php

PHP:
$datadinascita = $anno . "-" . $mese . "-" . $giorno;  
$citta = mysql_real_escape_string(strtolower(trim ($_POST['citta'])));
$provincia = mysql_real_escape_string(strtolower(trim ($_POST['provincia'])));
$anno_diploma =  mysql_real_escape_string(strtolower(trim ($_POST['anno_diploma'])));
$occupazione = mysql_real_escape_string(strtolower(trim ($_POST['occupazione'])));


$qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia', 
    anno_diploma='$anno_diploma',
    occupazione='$occupazione'
    
    WHERE id = '".$_SESSION['id']."'";  
 
 echo $qry;

Con l'aiuto di Alessandro alla fine sono riuscito a farlo funzionare. Questa è solo la parte riguardante l'aggiornamento.
 
Ultima modifica:

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

I campi in fase di aggiornamentoprofilo, non sono nessuno obbligatori. Gli obbligatori sono i seguenti:

1) Nome,
2) Cognome,
3) Username,
4) Email,
5) Password

QUesti sono i campi obbligatori, e al momento non modificabili. Il resto a propria discrezione.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

I campi in fase di aggiornamentoprofilo, non sono nessuno obbligatori. Gli obbligatori sono i seguenti:

1) Nome,
2) Cognome,
3) Username,
4) Email,
5) Password

QUesti sono i campi obbligatori, e al momento non modificabili. Il resto a propria discrezione.

Io vado a cena, ci sentiamo dopo trabite tablet. Al limite domani. per adesso ti ringrazio e spero di trovare una soluzione insieme a te.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
puoi provare così
PHP:
<?php
//......
$datadinascita = $anno . "-" . $mese . "-" . $giorno;  
$citta = mysql_real_escape_string(strtolower(trim ($_POST['citta'])));
$provincia = mysql_real_escape_string(strtolower(trim ($_POST['provincia'])));
$anno_diploma =  mysql_real_escape_string(strtolower(trim ($_POST['anno_diploma'])));
if($_POST['occupazione']=="" && $_POST['nuovaoccupazione']==""){//l'utente non ha selezionato ne scritto
	$occupazione = "";//non essendo un campo obbligatorio puoi metterlo a vuoto
	//se fosse obbligatorio devi dare il messaggio di errore e tornare al form
}elseif($_POST['occupazione']!="" && $_POST['nuovaoccupazione']==""){
	//l'utente ha selezionato dalla select un'occupazione e non ha scritto
	$occupazione = mysql_real_escape_string(strtolower(trim ($_POST['occupazione'])));
}elseif($_POST['occupazione']=="" && $_POST['nuovaoccupazione']!=""){
	$occupazione = mysql_real_escape_string(strtolower(trim ($_POST['nuovaoccupazione'])));
	//l'utente ha scritto una nuova occupazione quindi prima di inserirla devi verificare se per caso non esiste
	$q=mysql_query("SELECT occupazione FROM utenti WHERE occupazione='$occupazione'");
	if(mysql_num_rows($q) > 1){// a scritto una esistente
		$riga=mysql_fetch_array($q);
		$occupazione=$riga['occupazione'];
	}
}else{
	//l'utente ha selezionato e anche scritto, scegli il valore della select
	$occupazione = mysql_real_escape_string(strtolower(trim ($_POST['occupazione'])));
}
$qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia', 
    anno_diploma='$anno_diploma',
    occupazione='$occupazione'
    WHERE id = '".$_SESSION['id']."'";
//......
?>
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao Borgo,

Questo deve andare ovviamente tutto su aggiornaprofilo giusto ????


Ciao Borgo,

Nel tuo codice che mi ha postato, mancano le select ossia i menu di selezione. Difati se vado a farlo girare, mi da pagina bianca con du ebottini. Uno "aggiorna Profilo e l'altro Logout". Ho fatto così, ancora da testare:

PHP:
//Occupazione

$q=mysql_query("SELECT descrizione FROM utenti ORDER BY occupazione");
$vuota=mysql_num_rows($q);
if($vuota > 0){//fa vedere la select solo se ci sono categorie e mostra solo il'input nuovacategoria, in pratica solo la prima volta
	echo "Occupazione: <select name=\"occupazione\">";
		echo "<option value=\>-seleziona-</option>";
	while($riga=mysql_fetch_array($q)){
		echo "<option value=\"".$riga['occupazione']."\">".$riga['occupazione']."</option>";
	}//fine while
echo "</select> ";
}//fine if vuota


echo "Nuova categoria da inserire: <input type='text' name='nuovacategoria'>";

if($_POST['occupazione']=="" && $_POST['nuovaoccupazione']==""){//l'utente non ha selezionato ne scritto
    $occupazione = "";//non essendo un campo obbligatorio puoi metterlo a vuoto
    //se fosse obbligatorio devi dare il messaggio di errore e tornare al form
}elseif($_POST['occupazione']!="" && $_POST['nuovaoccupazione']==""){
    //l'utente ha selezionato dalla select un'occupazione e non ha scritto
    $occupazione = mysql_real_escape_string(strtolower(trim ($_POST['occupazione'])));
}elseif($_POST['occupazione']=="" && $_POST['nuovaoccupazione']!=""){
    $occupazione = mysql_real_escape_string(strtolower(trim ($_POST['nuovaoccupazione'])));
    //l'utente ha scritto una nuova occupazione quindi prima di inserirla devi verificare se per caso non esiste
    $q=mysql_query("SELECT occupazione FROM utenti WHERE occupazione='$occupazione'");
    if(mysql_num_rows($q) > 1){// a scritto una esistente
        $riga=mysql_fetch_array($q);
        $occupazione=$riga['occupazione'];
    }
}else{
    //l'utente ha selezionato e anche scritto, scegli il valore della select
    $occupazione = mysql_real_escape_string(strtolower(trim ($_POST['occupazione'])));
} 
?>             
<center> <br><br>

                <font face="Comic Sans MS">

<input type="submit"  value="Aggiorna Profilo" />
<input type="button" onClick="window.location.href='logout.php';" value="Logout" />
</center> </form>

aggiornaprofilo.php

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

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

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

$datadinascita = $anno . "-" . $mese . "-" . $giorno;  
$citta = mysql_real_escape_string(strtolower(trim ($_POST['citta'])));
$provincia = mysql_real_escape_string(strtolower(trim ($_POST['provincia'])));
$anno_diploma =  mysql_real_escape_string(strtolower(trim ($_POST['anno_diploma'])));
$occupazione = mysql_real_escape_string(strtolower(trim ($_POST['occupazione'])));


        $qry = "UPDATE utenti SET 
            datadinascita='$datadinascita', 
            citta='$citta', 
            provincia='$provincia', 
            anno_diploma='$anno_diploma',
            occupazione='$occupazione'
            WHERE id = '".$_SESSION['id']."'";
  
 echo $qry;

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

 
}   
?>


Pensi che potrebbe funzionare ?????
 
Ultima modifica:

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

L'ho provato come te l'ho postato. Suddiviso e ho aggiunto la select che mancava. Ma non va. Se vuoi ti riposto tutto il codice. inoltre, mi da il seguente errore:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /volume1/web/utenti/provaaggiornaprofilo/index.php on line 41 Nuova categoria da inserire:

E a fianco mi compare il campo text da compilare. Una volta ch elo compilo mi dice aggiornamento effettuato correttamente, vado a vedere e il campo "occupazione" risulta vuoto. :(
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ho fatto alcune prove ma non so se sono delle stronzate o meno. Ma sembra così di accettarmi solo il campo input e la lista non compare :(

index.php

PHP:
<?php
ob_start();//visto che usi header popo l'l'uotput html
session_start();//aggiungi questa e
require_once("connetti.php");
require_once("arraylistecitta.php");
?>

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

<?php

if(isset($_SESSION['nome'])) {
$array = mysql_query("SELECT * FROM utenti WHERE id=".$_SESSION['id']." '");

$array =  strtoupper($_SESSION['nome'] );
if(isset($_SESSION['nome']))  {   
  
   
echo "<div class=\"messaggio\"><h1>";

   //echo "<br> <br>";
    echo $id." ".$nome;
    
echo "<h1> <center> BENVENUTO ".$array."<br /></h1> </center> ";
    
echo "</h1></div>";
    echo "</body></html>";
}else{   
echo "<h1> <center>";
echo "Che minkia fai se non ti logghi o non ti registri, non puoi fare un kazzo. Ah cicio, non c'è provà e vedi da sparì...";
    header("Refresh: 4;URL=login.php");    
exit();
}

}
echo "</select>" ;

//Occupazione



if($_POST['occupazione']=="" && $_POST['nuovaoccupazione']==""){//l'utente non ha selezionato ne scritto
    $occupazione = "";//non essendo un campo obbligatorio puoi metterlo a vuoto
    //se fosse obbligatorio devi dare il messaggio di errore e tornare al form
     
echo "Nuova categoria da inserire: <input type='text' name='nuovaoccupazione'>";

}elseif($_POST['occupazione']!="" && $_POST['nuovaoccupazione']==""){
    //l'utente ha selezionato dalla select un'occupazione e non ha scritto
    $occupazione = mysql_real_escape_string(strtolower(trim ($_POST['occupazione'])));

    $q=mysql_query("SELECT descrizione FROM utenti ORDER BY occupazione");
$vuota=mysql_num_rows($q);
if($vuota > 0){//fa vedere la select solo se ci sono categorie e mostra solo il'input nuovacategoria, in pratica solo la prima volta
	echo "Occupazione: <select name=\"occupazione\">";
		echo "<option value=\>-seleziona-</option>";
	while($riga=mysql_fetch_array($q)){
		echo "<option value=\"".$riga['occupazione']."\">".$riga['occupazione']."</option>";
	}//fine while
echo "</select> ";

    
}elseif($_POST['occupazione']=="" && $_POST['nuovaoccupazione']!=""){
    $occupazione = mysql_real_escape_string(strtolower(trim ($_POST['nuovaoccupazione'])));
    //l'utente ha scritto una nuova occupazione quindi prima di inserirla devi verificare se per caso non esiste
    $q=mysql_query("SELECT occupazione FROM utenti WHERE occupazione='$occupazione'");
    if(mysql_num_rows($q) > 1){// a scritto una esistente
        $riga=mysql_fetch_array($q);
        $occupazione=$riga['occupazione'];
    }
}else{
    //l'utente ha selezionato e anche scritto, scegli il valore della select
    $occupazione = mysql_real_escape_string(strtolower(trim ($_POST['occupazione'])));

}
}

?>             
<center> <br><br>

                <font face="Comic Sans MS">

<input type="submit"  value="Aggiorna Profilo" />
<input type="button" onClick="window.location.href='logout.php';" value="Logout" />
</center> </form>

aggiornaprofilo.php

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

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

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

$datadinascita = $anno . "-" . $mese . "-" . $giorno;  
$citta = mysql_real_escape_string(strtolower(trim ($_POST['citta'])));
$provincia = mysql_real_escape_string(strtolower(trim ($_POST['provincia'])));
$anno_diploma =  mysql_real_escape_string(strtolower(trim ($_POST['anno_diploma'])));
$occupazione = mysql_real_escape_string(strtolower(trim ($_POST['nuovaoccupazione'])));        //E' na stronzata quella che ho fatto ????


        $qry = "UPDATE utenti SET 
            datadinascita='$datadinascita', 
            citta='$citta', 
            provincia='$provincia', 
            anno_diploma='$anno_diploma',
            occupazione='$occupazione',
            occupazione='$nuovaoccupazione'      //E' na stronzata quella che ho fatto ????
            WHERE id = '".$_SESSION['id']."'";
  
 echo $qry;

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

 
}   
?>

Il risultato stavolta è positivo:

UPDATE utenti SET datadinascita='--', citta='', provincia='', anno_diploma='', occupazione='impiegato', occupazione='impiegato' WHERE id = '2'... Aggiornamento effettuato correttamente....

Solo che appunto non compare la select :(
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao,

Ho fatto altre modifiche ma non va :( Sicuramente sbaglio qualcosa. Eccole le modifiche ultime che ho effettuato:

index.php

PHP:
?php
ob_start();//visto che usi header popo l'l'uotput html
session_start();//aggiungi questa e
require_once("connetti.php");
require_once("arraylistecitta.php");
?>

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

<?php

if(isset($_SESSION['nome'])) {
$array = mysql_query("SELECT * FROM utenti WHERE id=".$_SESSION['id']." '");

$array =  strtoupper($_SESSION['nome'] );
if(isset($_SESSION['nome']))  {   
  
   
echo "<div class=\"messaggio\"><h1>";

   //echo "<br> <br>";
    echo $id." ".$nome;
    
echo "<h1> <center> BENVENUTO ".$array."<br /></h1> </center> ";
    
echo "</h1></div>";
    echo "</body></html>";
}else{   
echo "<h1> <center>";
echo "Che minkia fai se non ti logghi o non ti registri, non puoi fare un kazzo. Ah cicio, non c'è provà e vedi da sparì...";
    header("Refresh: 4;URL=login.php");    
exit();
}

}
echo "</select>" ;

//Occupazione
if($_POST['occupazione']=="" && $_POST['nuovaoccupazione']==""){//l'utente non ha selezionato ne scritto
  $occupazione = "";//non essendo un campo obbligatorio puoi metterlo a vuoto  
    }elseif($_POST['occupazione']!="" && $_POST['nuovaoccupazione']==""){   
        //l'utente ha selezionato dalla select un'occupazione e non ha scritto
}
$q=mysql_query("SELECT occupazione FROM utenti ORDER BY occupazione");
$vuota=mysql_num_rows($q);
if($vuota > 0){//fa vedere la select solo se ci sono categorie e mostra solo il'input nuovacategoria, in pratica solo la prima volta
    echo "Occupazione: <select name=\"occupazione\">";
        echo "<option value=\>-seleziona-</option>";
    while($riga=mysql_fetch_array($q)){
        echo "<option value=\"".$riga['occupazione']."\">".$riga['occupazione']."</option>";
    }//fine while
echo "</select> ";
}elseif($_POST['occupazione']=="" && $_POST['nuovaoccupazione']!=""){
        //l'utente ha scritto una nuova occupazione quindi prima di inserirla devi verificare se per caso non esiste - fine if vuota
echo "Nuova occupazione da inserire: <input type='text' name='nuovaoccupazione'>";
$q=mysql_query("SELECT occupazione FROM utenti WHERE occupazione='$occupazione'");
    if(mysql_num_rows($q) > 1){// a scritto una esistente
        $riga=mysql_fetch_array($q);
        $occupazione=$riga['occupazione'];
    }
}
?>             
<center> <br><br>

                <font face="Comic Sans MS">

<input type="submit"  value="Aggiorna Profilo" />
<input type="button" onClick="window.location.href='logout.php';" value="Logout" />
</center> </form>

aggiornaprofilo.php

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

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

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

$datadinascita = $anno . "-" . $mese . "-" . $giorno;  
$citta = mysql_real_escape_string(strtolower(trim ($_POST['citta'])));
$provincia = mysql_real_escape_string(strtolower(trim ($_POST['provincia'])));
$anno_diploma =  mysql_real_escape_string(strtolower(trim ($_POST['anno_diploma'])));
$occupazione = mysql_real_escape_string(strtolower(trim ($_POST['nuovaoccupazione'])));
    
        $qry = "UPDATE utenti SET 
            datadinascita='$datadinascita', 
            citta='$citta', 
            provincia='$provincia', 
            anno_diploma='$anno_diploma',
            occupazione='$occupazione',
            occupazione='$nuovaoccupazione'
            WHERE id = '".$_SESSION['id']."'";
  
 echo $qry;

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

 
}   
?>

Speravo di riuscire a cavarmela da solo ma invece nada. Il srisultato è il seguente, quando a selezionare dalla lista, non mi memorizza l'occupazione selezionata. Ecco il risultato della query:

UPDATE utenti SET datadinascita='--', citta='', provincia='', anno_diploma='', occupazione='', occupazione='' WHERE id = '2'... Aggiornamento effettuato correttamente....

Spero nel tuo genio :p Grazie.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa, ma non è php che non funzia.
ti sembra quello il posto dove andava messo quello che ti ho postato? cogita un pochettino!!!
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao,

Ho fatto così come dicevi tu. Ho messo tutto nel file index.php

PHP:
<?php
ob_start();//visto che usi header popo l'l'uotput html
session_start();//aggiungi questa e
require_once("connetti.php");
require_once("arraylistecitta.php");

if (!isset($_POST['aggiorna'])) {

?>

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

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

if(isset($_SESSION['nome'])) {
$array = mysql_query("SELECT * FROM utenti WHERE id=".$_SESSION['id']." '");

$array =  strtoupper($_SESSION['nome'] );
if(isset($_SESSION['nome']))  {   
  
   
echo "<div class=\"messaggio\"><h1>";

   //echo "<br> <br>";
    echo $id." ".$nome;
    
echo "<h1> <center> BENVENUTO ".$array."<br /></h1> </center> ";
    
echo "</h1></div>";
    echo "</body></html>";
}else{   
echo "<h1> <center>";
echo "Che minkia fai se non ti logghi o non ti registri, non puoi fare un kazzo. Ah cicio, non c'è provà e vedi da sparì...";
    header("Refresh: 4;URL=login.php");    
exit();
}

}
echo "</select>" ;
//Occupazione

$datadinascita = $anno . "-" . $mese . "-" . $giorno;  
$citta = mysql_real_escape_string(strtolower(trim ($_POST['citta'])));
$provincia = mysql_real_escape_string(strtolower(trim ($_POST['provincia'])));
$anno_diploma =  mysql_real_escape_string(strtolower(trim ($_POST['anno_diploma'])));
if($_POST['occupazione']=="" && $_POST['nuovaoccupazione']==""){//l'utente non ha selezionato ne scritto
    $occupazione = "";//non essendo un campo obbligatorio puoi metterlo a vuoto
    //se fosse obbligatorio devi dare il messaggio di errore e tornare al form
}elseif($_POST['occupazione']!="" && $_POST['nuovaoccupazione']==""){
    //l'utente ha selezionato dalla select un'occupazione e non ha scritto
    $occupazione = mysql_real_escape_string(strtolower(trim ($_POST['occupazione'])));
}elseif($_POST['occupazione']=="" && $_POST['nuovaoccupazione']!=""){
    $occupazione = mysql_real_escape_string(strtolower(trim ($_POST['nuovaoccupazione'])));
    //l'utente ha scritto una nuova occupazione quindi prima di inserirla devi verificare se per caso non esiste
    $q=mysql_query("SELECT occupazione FROM utenti WHERE occupazione='$occupazione'");
    if(mysql_num_rows($q) > 1){// a scritto una esistente
        $riga=mysql_fetch_array($q);
        $occupazione=$riga['occupazione'];
    }
}else{
    //l'utente ha selezionato e anche scritto, scegli il valore della select
    $occupazione = mysql_real_escape_string(strtolower(trim ($_POST['occupazione'])));
}
$qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia', 
    anno_diploma='$anno_diploma',
    occupazione='$occupazione'
    WHERE id = '".$_SESSION['id']."'"; 

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

 
} 

} 


?>             
<center> <br><br>

                <font face="Comic Sans MS">

<!--<input type="submit"  value="Aggiorna Profilo" />-->
 <input type="submit" name="aggiorna" value="Aggiorna Profilo" />
<input type="button" onClick="window.location.href='logout.php';" value="Logout" />
</center> </form>

Ma non va ugualmente
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Non sono riuscito a farla funzionare nemmeno unendo tutto. Non so il perchè :( Spero che nmi potrai dare un'illuminazione. Fra le altre cose stavo cercando la vecchia conversazione dove era situato questo codice e nemmeno sono riuscito a trovarla :(:crying::crying::crying::crying::crying::crying::crying:
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao Borgo,

Ho riprovato il tuo codice ma mi da pagina bianca con due bei pulsanti "aggiorna profilo" e "logout". Allora te lo riprogongo sperando che mi puoi dare una mano a risolvere gli incastri:

Questo è il tuo codice originario:

PHP:
//Occupazione


$q=mysql_query("SELECT occupazione FROM utenti ORDER BY occupazione");

if($_POST['occupazione']=="" && $_POST['nuovaoccupazione']==""){ //l'utente non ha selezionato ne scritto

    $occupazione = "";//non essendo un campo obbligatorio puoi metterlo a vuoto
}elseif($_POST['occupazione']!="" && $_POST['nuovaoccupazione']==""){
    }elseif($_POST['occupazione']=="" && $_POST['nuovaoccupazione']!=""){
         $q=mysql_query("SELECT occupazione FROM utenti WHERE occupazione='$occupazione'");
    if(mysql_num_rows($q) > 1){// a scritto una esistente
        $riga=mysql_fetch_array($q);
        $occupazione=$riga['occupazione'];
    }
}else{
}
?>

Questo era il codice preso da rivista4 tanto tempo fa.

PHP:
<?php
$q=mysql_query("SELECT descrizione FROM tblcomponenti ORDER BY descrizione");
$vuota=mysql_num_rows($q);
if($vuota > 0){//fa vedere la select solo se ci sono componenti e mostra solo il'input nuovocomponente, in pratica solo la prima volta
	echo "Componente: <select name=\"componente\">";
		echo "<option value=\"\">-seleziona-</option>";
	while($riga=mysql_fetch_array($q)){
		echo "<option value=\"".$riga['descrizione']."\">".$riga['descrizione']."</option>";
	}//fine while
echo "</select>";
}//fine if vuota
?>
	Nuovo componente da inserire: <input type='text' name='nuovocomponente' />

A me in praticcami mancano se non erro tre cose fondamentali che sono le seguenti:

PHP:
1) echo "Occupazione: <select name=\"occupazione\">";

2) Nuova occupazione da inserire: <input type='text' name='nuovaoccupazione' />

3) E infine, l'aggiornamento sia dalla tabella che dall'input

Come fare ??? Inoltre all'inizio la select non si dovrebbe vedere perchè è vuota. Dovrebbe comparire alla successva connessione con un'altro accounto o con lo stesso. Come funziona regolarmente su rivista4 che mi avevi proposto te. Perchèè qua avendo una tabella unica non fa la stessa cosa ??? Non riesco proprio a capire. Grazie. Lo so di essere un bel rompi scatole e che chiedo aiuto a destra e a manca. Ma senza di voi non saprei nemmeno scrivere "ciao" in php e html. Con voi vi sembrerà strano ma qualcosa ho imparatao anche se dovrei memorizzare meglio alcuni fasi.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Chiedo scusa a tutto il forum e sopratutto a Borgo,

perdonami borgo, non avevo capito na sega di quello che mi avevi dato. oggi con più attenzione e con qualche illuminazione in più dall'alto, sono riuscito a far funzionare il tuo codice. Come si dice, meglio tardi che mai. E alla fine è andata.S ei stato un grande. Ti chiedo umilmente pietà, perdono in ginocchio sui ceci a dorso nudo (evitiamo sennò ci rimango secco). Alla fine era più semplice di bere un bicchier d'acqua. Grazie ancora del tuo preziosissimo aiuto anche se ho trovato difficoltà io. ma per mea culpa, mea grandissima culpa. Ti chiedo veramente infinitisimamente scusa. Questo post si può chiudere. graziue a tutti di avermi sopportato.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao - Aspettate prima di chiudere la discussione, grazie

Ciao,

Scusa, ti devo chiedere una codsa che non ho capito. Perchè la select è presente quando il db è vuoto e contiene solo i nomi e le password degli utenti ??? Ti mando un'immagine per capire cosa intendo. Il codice è questo:

PHP:
//Occupazione

$q=mysql_query("SELECT occupazione FROM utenti ORDER BY occupazione");
$vuota=mysql_num_rows($q);
if($vuota > 0){//fa vedere la select solo se ci sono componenti e mostra solo il'input nuovocomponente, in pratica solo la prima volta
	echo "Occupazione: <select name=\"occupazione\">";
		echo "<option value=\"\">-seleziona-</option>";
	while($riga=mysql_fetch_array($q)){
		echo "<option value=\"".$riga['occupazione']."\">".$riga['occupazione']."</option>";
	}//fine while
echo "</select>";
}//fine if vuota
?>
	Nuova occupazione da inserire: <input type='text' name='nuovaoccupazione' />

Con questa stringa non la dovrebbe far vedere giusto ????:

PHP:
if($vuota > 0){//fa vedere la select solo se ci sono componenti e mostra solo il'input nuovocomponente, in pratica solo la prima volta
 
Discussioni simili
Autore Titolo Forum Risposte Data
L riempire le select coi valori dei campi di input Javascript 3
S [PHP] Riempire una casella select con query SQL PHP 11
F riempire una select dopo un submit Javascript 0
L Ripetere Campi disabilitando input in riferimento ad un valore della select jQuery 0
otto9due Ordinare option di una select Javascript 5
W MySQL ciclo in SELECT MySQL 0
W MySQL SELECT list dinamica MySQL 0
M Select Option dentro una Table jQuery 2
G Colorare menu select attraverso ricerca php PHP 0
L problema con query select PHP 2
F menù select dinamico da db in php PHP 3
D popolare campi tra th alla select PHP 36
M Estrarre valore con SELECT COUNT PHP 0
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Select Dinamiche...da txt? PHP 3
E Php select option e ajax PHP 23
R Select concatenata che non funziona la seconda volta Ajax 3
L select join e sottrazione punti PHP 13
L input dati con inser into select ? PHP 4
V hierarchy-select jQuery 0
Emix Select concatenate php sql ajax PHP 2
F query e form con select multipla PHP 17
T recupero valori select multipla da android Javascript 3
J php, scegliere autista da select e mostrare se ha fatto un incidente PHP 8
Tommy03 Select in ordine per numero di record MySQL 7
T problema con select dinamica con jquery Javascript 0
J Far comparire e scomparire un div con un select Javascript 1
M Opzioni select da 1 a 200 PHP 0
I Fatal error: Query Failed! SQL: SELECT * INTO OUTFILE PHP 1
C input in sostituzione della select PHP 2
G Insert into select - Aiuto MySQL 0
max1974 autocomplete trigger select jQuery 0
X [Select] Valori chiave non presenti in un'altra tabella MySQL 2
M Estrarre dati da una select HTML PHP 3
MarcoGrazia jquery validate, necessità di validare almeno un elemento select su due jQuery 1
T [PHP] Autocompilazione input multiple da una select PHP 1
Alex_70 [PHP] Visualizzare foto tramite select PHP 0
S [PHP] aggiornamento table tramite select senza ricaricare la pagina PHP 5
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
M [PHP] Problema con query select PHP 2
C [PHP] Controllo <select> comportamento anomalo PHP 2
G [PHP] Select con opzioni dipendenti da un'altra select PHP 3
L [Javascript] Select option in campi input Javascript 4
M [PHP] Problemi con select PHP 6
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
S [ASP] SALVARE VALORE SELECT OPTION SU CAMPO TABELLA ACCESS Classic ASP 9
max1974 [Javascript] malfunzionamento select Javascript 0
M [PHP] Drop down in campo select PHP 1
D [PHP] Select dinamici PHP 2
G sql select con array in php PHP 1

Discussioni simili