PDA

View Full Version : [php] Richiamare form


Haf24
27-08-2011, 14:17
Nella home ho un link che permette all'utente di scrivermi attraverso un form.
Il mio problema è che il form non torna indietro se non è compilato correttamente, invece sparisce nel nulla.

Premetto che è un form in una pagina a sè ed è un misto di css e html.

Pag (scrivimi2) che elabora e che dopo tutti i controlli invia il form o dovrebbe farlo tornare a video:

...
if ($errore):
$ritenta="<META http-equiv=\"REFRESH\" content=\"2; url=http://miosito.it?../ritorna_scrivimi-rit=1\>";
else:
$meta;
...


Pagina del form (scrivimi1) con la funzione che richiama i css:

<?php
session_start();
?>

<!-- Questa funzione si collega al codice $ritenta che c'è in scrivimi2 -->
<?php
function ritornaScriv(){
if(isset($_GET[ritorna_scrivimi-rit])) {
?>
<script language="JavaScript" type="text/javascript">
document.getElementById('bg-Scrivimi1').style.display='block';
document.getElementById('chiudi-Scrivimi1').style.display='block';
document.getElementById('popup-Scrivimi1').style.display='block';
</script>
<?php
}
}
?>
...



Home con il richiamo dell funzione precedente:

...
<?php include("scrivimi1.php"); ?>

<!-- richiama il codice che c'è in scrivimi1, in caso c'è errore all'invio fa riaprire il form -->
<?php ritornaScriv(); ?>
...

Pompolus
27-08-2011, 18:31
Nella home ho un link che permette all'utente di scrivermi attraverso un form.
Il mio problema è che il form non torna indietro se non è compilato correttamente, invece sparisce nel nulla.

Premetto che è un form in una pagina a sè ed è un misto di css e html.

Pag (scrivimi2) che elabora e che dopo tutti i controlli invia il form o dovrebbe farlo tornare a video:

...
if ($errore):
$ritenta="<META http-equiv=\"REFRESH\" content=\"2; url=http://miosito.it?../ritorna_scrivimi-rit=1\>";
else:
$meta;
...


Pagina del form (scrivimi1) con la funzione che richiama i css:

<?php
session_start();
?>

<!-- Questa funzione si collega al codice $ritenta che c'è in scrivimi2 -->
<?php
function ritornaScriv(){
if(isset($_GET[ritorna_scrivimi-rit])) {
?>
<script language="JavaScript" type="text/javascript">
document.getElementById('bg-Scrivimi1').style.display='block';
document.getElementById('chiudi-Scrivimi1').style.display='block';
document.getElementById('popup-Scrivimi1').style.display='block';
</script>
<?php
}
}
?>
...



Home con il richiamo dell funzione precedente:

...
<?php include("scrivimi1.php"); ?>

<!-- richiama il codice che c'è in scrivimi1, in caso c'è errore all'invio fa riaprire il form -->
<?php ritornaScriv(); ?>
...



potrei dire un pò di cazzate perchè non ho ben capito come funziona il tutto, ma la funzione ritornaScriv è quella che si occupa di riscrivere il form? E lo fa solo se il parametro $ritorna_scrivimi-rit è settato?
Se è così non vedo dove questo parametro venga settato.
Inoltre non ho capito la variabile $ritenta dove la usi

Haf24
27-08-2011, 18:48
$ritenta e $meta sono alla fine dei controlli del form, se ok va a meta, no ok ritenta (ritorna il form a video).

In teoria, se non è ok da l'imput per tornare indietro con tutta la formattazione css, così dovrebbe