- Home
- Categorie
- Coding e Sistemistica
- PHP
- richiamo form
-
se faccio cosi dove è l'errore?
<?php
//Effettuo il controllo dei dati
$strSQL = "SELECT * FROM utenti WHERE username = '".$username."'";
$strSQL .= " AND password = MD5('".$password."')";
$result = mysql_query($strSQL);
if (mysql_num_rows($result)>0)echo "<p><strong>Aula prenotata da:</strong> ${record['Nome']
?>
-
Allora... in questa parte devi aggiungere la preparazione delle variabili che ti interessano:
<?php //Effettuo il controllo dei dati $strSQL = "SELECT * FROM utenti WHERE username = '".$username."'"; $strSQL .= " AND password = MD5('".$password."')"; $result = mysql_query($strSQL); $row = mysql_fetch_row($result); //Controllo se l' utente e' stato trovato if(!strlen($row[0]) == 0){ $myArray = array($row[0], $row[1]); } $nome = $row['nome']; $provinciaSuDB = $row['provincia']; // ECCETERA ECCETERA
Nel form devi metterci la variabile così:
<td width="155"> <input type="text" name="nome" value='<? echo $nome: ?>'></td>
Per quanto riguarda le liste dovresti fare qualcosa tipo:
<?php $provincie = array("AG" => "Agrigento", "AL" => "Alessandria", "AN" => "Ancora"); foreach ($provincie AS $siglaProvincia => $nomeProvincia) { $selezionata = ($siglaProvincia == $provinciaSuDB) ? "selected " : ""; echo "<option $selezionata value="$siglaProvincia">$nomeProvincia</option>\n"; }
Se ti studi un po' 'ste cose dovresti migliorare parecchio anche il tuo codice.
-
aiuto..
-
ok letto ora provo
-
qui mi da errore
[LEFT]<td width="155"> <input type="text" name="nome" value='<? echo $nome: ?>'></td> [/LEFT]Parse error: parse error, expecting
','' or
';'' in c:\programmi\easyphp1-8\www\tutor online\modificadati.php on line 46
-
perche mi da quell'errore?
-
non riescoa toglierlo
-
ho tolto il problema cosi
<td width="155"> <input type="text" name="nome" value= <?php echo $nome ?> ></td>ma nella casella nome non mi stampa nulla e sopra mi da questo errore
Notice: Undefined index: nome in c:\programmi\easyphp1-8\www\tutor online\modificadati.php on line **33 **
**dove cè **$nome = $row['nome'];
-
Era un ; e non un :
Prova così:<td width="155"> <input type="text" name="nome" value='<? echo $nome; ?>'></td>
-
Questa riga:
$nome = $row['nome'];
Era un esempio, tu devi caricarci il nome in base ai campi della tua tabella.
-
mi sono accorto che non riesco a fargli passare il valore dell'username e della password all'inizo perche cosi non li riconosxe.
quindi il problema e passare nome e username tra 2 paginecome posso fare?
-
mi da praticamente errore che non rinìconosce username e password dalla query.quindi il problema è che glieli devo far passare
-
Certo, se non glieli passi lui non li può sapere.
Normalmente si usa una variabile di sessione dove si memorizza lo username (la password non é necessario memorizzarla).
-
e come posso farlo?
-
questo è il file che verifica il login
<?php
//Avvio o continuo la sessione
session_start();
//Controllo che la sessione sia attiva
if(!IsSet($_SESSION['logged'])){
//Controllo se l' utente vuole loggarsi
//Recupero i valori da una Form
$username = @$_POST['username'];
$password = @$_POST['password'];//Controllo se l' username e la password non sono vuoti
if((!strlen($username) == 0) and (!strlen($password) == 0)){//Effettuo il controllo dei dati
$strSQL = "SELECT * FROM utenti WHERE username = '".$username."'";
$strSQL .= " AND password = MD5('".$password."')";
$result = mysql_query($strSQL);
$row = mysql_fetch_row($result);
//Controllo se l' utente e' stato trovato
if(!strlen($row[0]) == 0){
//Effettuo il Login:
$myArray = array($row[1], $row[2]);//Effettuo il Login
$_SESSION['logged'] = $myArray;
}
}
}//Libero la memoria
//mysql_free_result($result);if(@$_GET['logout'] == 1){ //Effettuo il Logout
$_SESSION = array(); //Desetto tutte le variabili di sessione
session_destroy(); //Distruggo le sessioni
}
?>
-
non sto capendo come passargli lo username
-
E' evidente che qua:
$_SESSION['logged'] = $myArray;
Memorizzi qualcosa sulla variabile di sessione (quali siano i campi che memorizzi, usando row[1] e row[2] noi non lo possiamo sapere)
Semplificando puoi mettere lì un:
$_SESSION['username'] = $username;
E nell'altro file puoi fare:
$username = $_SESSION['username'];
Dopo, chiaramente, aver fatto un session_start();
A quel punto usi $username per i tuoi scopi (leggi il record su DB etc. etc.)
-
nel db ce primo l'id poi lo username e poi la password
-
grazie per la'iuto ma ancora mi sn orientato
nel file verifica cosa ci devo mettere?
va bene come sta?
-
Allora nel file verifica fai così all'inizio:
<?php session_start(); $varSess = $_SESSION['logged']; // VEDO COSA C'E' NELLE VARIABILI DI SESSIONE print_r($varSess); $username = $varSess[0]; $password = $varSess[1]; ?>
Facendo così dovresti vedere (dal print_r) se le variabili sono settate. Se si nelle due variabili $username e $password hai ciò che ti serve!