Gestione bottini+ dubbio atroce

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Come da titolo,

Due post in uno vado contro il regolamento lo so. Ma il mio dubbio è nastronzata per voi. E' come chiedere se l'acqua della pasta va salata prima di metterci la poasta o dopo. per uno chef è na domanda al kazzo (scusate i termini), però per le pippe e i principianti come me no.Dettoi questo e fatto questa piccola premsessa passiamo al dunque. Il dubbio è il seguente ho le select per datadinascita (scomposti in: giorno, mese, anno), città, provincia. Il dubbio era, l'update ha la stessa sintassi dei campi scritti a mano ??? Cioè delle textbox ???? Mostro un'immagine di quello che voglio dire. Questo per quanto riguarda il dubbio. Ora passiamo, invece al vero e proprio quesito. Allora, sei io ho due bottoni classisi. Uno chiamato "aggiorna proilo" e l'altro chiamato "Logout", per gestire "aggiorna profilo", nello stesso file come posso fare ???? Chiedo questo per non richiamare un'altro file esterno ed avere tutto in un unico file. Il "logout è semplice basta fare così:

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

E il gioco è fatto, e pe ril secondo tasto ??? Grazie a tutti voi e scusatemis e ho unito due post (per economizzare :p). Visto che siamo in fase di economia.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
La prima domanda non sono proprio riuscito a capirla.

Per quanto riguarda la seconda: non capisco dove sia il problema. In una pagina puoi mettere anche un milione di bottoni, ognuno con un compito specifico. Nel tuo caso il bottone "Logout" serve, appunto, per effettuare il logout. Non è collegato a nessun form, ma alla pressione l'utente viene reindirizzato a un'altra pagina. Il bottone "Aggiorna profilo", invece, è il tasto di invio di un form, quindi alla pressione i dati inseriti nel form vengono passati alla pagina specificata nel parametro action:
HTML:
<form action="pagina.php" method="post">
    <input type="text" name="campo1" />
    <input type="text" name="campo2" />
    <input type="text" name="campo3" />

    <button type="submit">Aggiorna profilo</button>
</form>
 

paperinik4

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

Ok,

La domanda era più specifica e cerco di spiegarmi meglio. Il secondo bottone, per non passare ad un action è possibile ??? Sempre al click intendo. Se hai visto l'immagine allegate delle select a menu tendine, il dubbio era se l'update avesesse la stessa sintassi che viene adoperata pe un input box da diciamo così tastiera. Inoltre, perkè non riesco a passare i dati che trasmetto dall'action di aggiornamento ??? Che sarebbe la cosa più comoda. ti posto il codice magari risolvi il problema:

aggiornamentoprofilo.php:

PHP:
<?php
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>"; 
 
foreach($_POST as $key => $value) $_POST[$key] = mysql_real_escape_string(strtolower(trim ($value))); 

extract($_POST,EXTR_SKIP); 

 #$qry = mysql_query("SELECT id, username FROM utenti WHERE username='$username' AND id=".$_SESSION['id']." '"); #questa non serve
$datadinascita = $anno . "-" . $mese . "-" . $giorno;  

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

 $qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia', 
    anno_diploma='$anno_diploma' 
      WHERE session_id = '$session_id'";
 echo $qry;

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


}   
?>

Questo viene trasmessio dal click di "aggiorna profilo" tramite action. Ma al risultato della query, risulta tutti i campi vuoti :( Questo che ti posto è l'index.php (con cui una volta che ti logghi ti connetti appunto all'index):

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($_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();
}
// Inizio Selezione data di nascita

//Giorno

echo "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>";


//Mese

echo " Mese: ";

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

//Anno

echo " Anno: ";
$da=1972;
$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>" ;

// Inizio selezione Città
echo"<br> <br>";

echo "Città: ";

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

 // Inizio selezione Province
 
echo " Provincia: ";

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

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

                <font face="Comic Sans MS">

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

Mi ci puoi dare un'occhiata per favore e vedere di riuscire a risolvermi il problema ??? Non so più che pesci prendere. Vado a cena ci si sente tramite il tablet. Grazie.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Ma chi è l'incapace che ha scritto 'sta roba?
PHP:
extract($_POST, EXTR_SKIP);
In sintesi non fa che imitare il comportamento di register_globals, funzione di PHP rimossa proprio per i rischi di sicurezza a cui esponeva il sito.

Comunque non funziona perché le select non stanno dentro il form. Spostale dopo il tag <form> e dovrebbe aggiornare i campi correttamente.
 

paperinik4

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

Dici di spostare il form prima dell'update ???? Se non ho capito male. Ma poi i tasti possono rimanere in fondo come stanno ora ???? Domani provo e ti sapró dire. Grazie. Comunque uno di questo forum l'ha scritta. Domani la tolgo. Non faccio nomi per questioji di privacy. Grazie alex. Che tu sappia esiste un editor per android che si connette anche al synology ???? Mi farebbez molto comodo. Editor php & company. Grazie ancora.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ma chi è l'incapace che ha scritto 'sta roba?
PHP:
extract($_POST, EXTR_SKIP);
In sintesi non fa che imitare il comportamento di register_globals, funzione di PHP rimossa proprio per i rischi di sicurezza a cui esponeva il sito.

Comunque non funziona perché le select non stanno dentro il form. Spostale dopo il tag <form> e dovrebbe aggiornare i campi correttamente.

Ciao Alessandro,

Finalmente, si è smosso qualcosa. Ho provato a mettere la form dentro le select e il risultato è il seguente:

Esecuzione in corso dell'aggiornameto profilo...
UPDATE utenti SET datadinascita='1972-04-14', citta='agrigento', provincia='ag', anno_diploma='' WHERE session_id = ''Errore: Non è stato possibile effettuare l'aggiornamento richiesto

Ora perchè non è stato possibile effettuare l'aggiornamento ??? Ti posto i file modificati:

aggiornamentoprofilo.php:

PHP:
<?php
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>"; 
 
 #$qry = mysql_query("SELECT id, username FROM utenti WHERE username='$username' AND id=".$_SESSION['id']." '"); #questa non serve
//Questa query è vero che non serve a niente ??????

$datadinascita = $anno . "-" . $mese . "-" . $giorno;  

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

 $qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia', 
    anno_diploma='$anno_diploma' 
      WHERE session_id = '$session_id'"; // e questo è giusto come sintassi ???
 echo $qry;

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


}   
?>

WHERE:

PHP:
      WHERE session_id = '$session_id'"; // e questo è giusto come sintassi ???

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();
}
// Inizio Selezione data di nascita

//Giorno

echo "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>";


//Mese

echo " Mese: ";

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

//Anno

echo " Anno: ";
$da=1972;
$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>" ;

// Inizio selezione Città
echo"<br> <br>";

echo "Città: ";

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

 // Inizio selezione Province
 
echo " Provincia: ";

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

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

                <font face="Comic Sans MS">

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

paperinik4

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

Ciao Alex,


Una cortesia, qualcosa ho ottenuto con la tua modifica. Mi puoi dare un'occhiata cosa c'è che non gli piace su questo script per favore ???

aggiornamentoprofilo.php

PHP:
<?php
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>"; 
 
 #$qry = mysql_query("SELECT id, username FROM utenti WHERE username='$username' AND id=".$_SESSION['id']." '"); #questa non serve
$datadinascita = $anno . "-" . $mese . "-" . $giorno;  

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

 $qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia', 
    anno_diploma='$anno_diploma' 
  WHERE id = '".$_SESSION['id']."'";  //credo che non vada bene questa
 
 echo $qry;

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


}   
?>

Grazie. L'ultimo risultato che ho ottenuto positivo è il seguente:

UPDATE utenti SET datadinascita='1972-04-14', citta='agrigento', provincia='ag', anno_diploma='' WHERE id = ''... Aggiornamento effettuato correttamente....UPDATE utenti SET datadinascita='1972-04-14', citta='agrigento', provincia='ag', anno_diploma='' WHERE id = ''

anche s epoi vado a vaedere sul db ch enon mi ha aggiornato na sega.....
 

paperinik4

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

Salve a tutti,

Riformulo la domanda, perchè non riesco a venirne a capo. Sembra che i dati vengano trasmessi ora che ho sistemato la fortm action prima delle select:

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

Però mi da sempre questo risultato qua:

Esecuzione in corso dell'aggiornameto profilo...
UPDATE utenti SET datadinascita='1979-05-08', citta='agrigento', provincia='ag', anno_diploma='' WHERE id='';... Aggiornamento effettuato correttamente....

Vado a controllare il db e rimane invariato. Domanda: l'update che ora posto è giusto ????


PHP:
$datadinascita = $anno . "-" . $mese . "-" . $giorno;  
$citta = mysql_real_escape_string(strtolower(trim ($_POST['citta'])));
 $provincia = mysql_real_escape_string(strtolower(trim ($_POST['provincia'])));
 
 
 $qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia', 
    anno_diploma='$anno_diploma' 
WHERE id='".$id."';"; //o così
 
 #WHERE id = '".$_SESSION['id']."'";   //o così non gli cambia di una virgola. Anzi mi dice impossibile effettuare l'aggiornamento

Ora mi domando, a sto benedetto:

PHP:
  WHERE

per farlo andare come si deve cosa ci debbo mettere ??? Se llo tolgo mi cambia su tutte e due i profili. Help pplease. Grazie.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Pare che $_SESSION['id'] non sia valorizzato, probabilmente perché ti sei dimenticato di avviare la sessione. A meno che session_start() non si trovi nel file connetti.php, dovrai aggiungerlo tu all'inizio del file.
 

paperinik4

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

Dunque ho notato solo ora che session_start manca sul file aggiornaprofilo.php Quindi basterebbe mettere all'inizio se non ho coapito male E un'altra cosa scusami, come faccio a valorizzare $_SESSION['id'] ?????

Compimenti alessandro, hai risolto il caso più lungo di Montalbano :p Mancava proprio session_start, ora difatti va come dovrebbe andare. Grazie infinite del tuo prezioso aiuto. Se vuoi puoi chiudere l'argomento. Per correttezza posto il file aggiornamento.php completo:

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'])));
 
 $qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia', 
    anno_diploma='$anno_diploma' 
     WHERE id='".$id."'";
 
 #WHERE id = '".$_SESSION['id']."'";  
 
 echo $qry;

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

 
}   
?>
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
A Gestione array multidimensionale PHP 6
andreas88 Gestione Profilo OnlyFans Leggi, Normative e Fisco 0
A Creazione cookie e gestione accessi PHP 0
B form gestione input PHP 2
sbolde91 Consiglio gestione Hosting Hosting 2
E Gestione profilo utente tramite Form PHP 3
S cerco esperto gestione ecommerce Offerte e Richieste di Lavoro e/o Collaborazione 0
P Curiosità su grandi aziende e la gestione delle grafiche. Discussioni Varie 1
M Consiglio sulla gestione di Gerarchie Database 0
A attributo "min" per input gestione date PHP 8
L Gestione DB ASP.NET 2
L Consiglio SEO gestione dominio + free hosting SEO e Posizionamento 6
avalon95 [WordPress] Gestione database annunci WordPress 0
G [PHP] gestione mouse PHP 2
B Gestione Prenotazioni con Mysql Database 21
D CREAZIONE E GESTIONE SITO E-COMMERCE Offerte e Richieste di Lavoro e/o Collaborazione 2
P (Cerco) Collaboratori per gestione social media Offerte e Richieste di Lavoro e/o Collaborazione 5
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
brasoft2019 [PHP] Sistema di gestione presenze PHP 29
W Preventivo gestione ecommerce Discussioni Varie 1
E Cerco partner / socio per gestione sito di annunci incontri Offerte e Richieste di Lavoro e/o Collaborazione 0
K e-commerce per distribuzione e dettaglio con gestione magazzino E-Commerce 0
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
Jonn [WordPress] Gestione categorie e tags per sito eventi WordPress 2
felino Gestione dispositivi e Altri dispositivi Windows e Software 4
D Software per gestione account facebook? Social Media Marketing 1
D Cero Software Facebook gestione account Vendere e Acquistare pubblicita' online 0
M Offro servizio Incremento Follower e Gestione Profili Istagram Offerte e Richieste di Lavoro e/o Collaborazione 0
S elementi statistici - Matrice e Gestione Array PHP o Javascript Javascript 0
J [offro] hosting / installazione certificati ssl / gestione server Offerte e Richieste di Lavoro e/o Collaborazione 0
F [PHP] gestione meteo manuale per un gioco di ruolo PHP 1
bianca_dimulescu Gestione tabella e MySQL PHP 4
T Servizio gestione pagina Instagram Offerte e Richieste di Lavoro e/o Collaborazione 0
G Gestione e/o vendita hosting come libero professionista Leggi, Normative e Fisco 4
MatMac System [PHP] Gestione dinamica select-option PHP 3
xone [Vendo] Script gestionale php-mysql gestione pratiche Altri Annunci 0
S [PHP] Gestione coupon PHP 3
lxella [PHP] Aree riservate e gestione utenti PHP 1
D Gestione punteggi php PHP 1
B Cercasi socio per gestione sito web Offerte e Richieste di Lavoro e/o Collaborazione 0
G gestione pagina facebook Social Media Marketing 0
Cavalinho08 [Offro gestione pagine instagram, prezzo bassissimo] Annunci servizi di Social Media Marketing 3
D [VENDO] Gestione account instagram Annunci servizi di Social Media Marketing 2
N [VENDO] Gestione pagine FB Annunci servizi di Social Media Marketing 2
ientii [PHP] Gestione CheckBox PHP 1
W Consiglio su gestione di un form con XMLHttpRequest Ajax 0
booklisa Compressione immagini e gestione media CMS (Content Management System) 1
T gestione livelli sessioni php msqli PHP 1
giuseppe_123 [PHP] Gestione corsi PHP 1
A [WordPress] Plugin gestione ordine prodotto. WordPress 0

Discussioni simili