ciao, ricordo di aver letto che si può in qualche modo far si che dopo un errore restituito all'utente esso non debba riscrivere anche gli altri campi che vanno già bene. come si fa? qualcuno può darmi 2 dritte o un link?
grazie
ciao, ricordo di aver letto che si può in qualche modo far si che dopo un errore restituito all'utente esso non debba riscrivere anche gli altri campi che vanno già bene. come si fa? qualcuno può darmi 2 dritte o un link?
grazie
Si fanno sempre nuove scoperte
Se il caricamento del form porta alla stessa pagina si possono semplicemente riusare i dati passati in post o get:
lo stesso in get.Codice PHP:
<input type="text" name="titolo" value="<?=$_POST['titolo']?>">
...
Se cambia la pagina puoi mettere i dati in sessione e riusarli fino quando non deciderai di eliminarli
La vita e' uno switch();
Oppure si può fare il controllo dei campi in javascript al momento del submit
mmhhh.... non sono molto pratico. il form rimanda a un'altra pagina che elabora i dati, come si fa a mantenerli in sessione?
:master:
preferirei non utilizzare js....
Si fanno sempre nuove scoperte
devi usare : session_start(); a priori di ogni output generato (magari in un file che includi in testa alla pagina e usi sempre tipo un file di configurazione) e/o comunque se piu' file in testa ad tutti questi.
Nella pagina dove arrivano i dati in post controlli l'esistenza dei dati e se ci sono li assegni alla sessione tipo:
if(isset($_POST['titolo']) && $_POST['titolo'] != ''){
$_SESSION['titolo'] = $_POST['titolo'];
}
A sto punto in tutte le pagine (sempre se correttamente inserito session_start() ) avrai le variabili di sessione e quindi:
<input type="text" name="titolo" value="<?=$_SESSION['titolo']?>">
quando non ti serviranno piu' bastera fare unset($_SESSION);
http://it.php.net/manual/it/function.session-start.php
La vita e' uno switch();
interessante questa cosa, ma non ho capito la parte del session start, come dovrei implementarla e cosa dovrei scriverci?
![]()
Si fanno sempre nuove scoperte
session_start è una funzione che va richiamata all'inizio della pagina, non devi farci altro!Originariamente inviato da gabar-el
interessante questa cosa, ma non ho capito la parte del session start, come dovrei implementarla e cosa dovrei scriverci?
![]()
![]()
mentre i controlli dove devo metterli, a inizio pagina sempre? appena sotto il session_start? e per dare più controlli? faccio sempre con un if? cioè se oltre al titolo ho anche una descrizione e un tema?
grazie
Si fanno sempre nuove scoperte
non è molto sicuro, all'utente basterebbe disattivare js per bypassare i controlli...Originariamente inviato da mtx_maurizio
Oppure si può fare il controllo dei campi in javascript al momento del submit![]()
« Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]
riciao, io lo implemento così poichè ho già un start session per il login:
ma mi tiene buono solo il titolo e non mi da la possibilità di cancellare i dati con l'apposito pullsante del form.Codice PHP:
<?php
session_start();
if(empty($_SESSION['user_loggato']))
{
die("Devi prima effettuare il login");
}
if(isset($_POST['titolo']) && $_POST['titolo'] != ''){
$_SESSION['titolo'] = $_POST['titolo'];
}
if(isset($_POST['descrizione']) && $_POST['descrizione'] != ''){
$_SESSION['descrizione'] = $_POST['descrizione'];
}
if(isset($_POST['allegato']) && $_POST['allegato'] != ''){
$_SESSION['allegato'] = $_POST['allegato'];
}
?>
inoltre non ho ben capito dove inserire l'unset e in quale pagina....
Si fanno sempre nuove scoperte