Finestre PopUp

  • Creatore Discussione Creatore Discussione jdemarte
  • Data di inizio Data di inizio
Anche se, ad essere sincero, come lo avevo fatto io arrivavo al risultato desiderato.. Tranne per quanto riguarda il fatto di far aprire una finestra popup in caso di errore...!
 
ciao
per come si dice "tagliare la testa al toro".
devi fare due pagine (quella col form può essere anche .htm anche se io uso sempre .php)
chiamate ad es inserisci.php e Esercizio1.php
questa è la pag inserisci.php
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="" />
<title>Esercizio1</title>
<script type="text/javascript">
function ControllaForm(){
	var controllo=false;		
	if (document.numeri.numero1.value == "" ){
		controllo=true;
		alert("Attenzione: il campo numero1 non pu&oacute; essere vuoto");
	}
	if (document.numeri.numero2.value == "" ) {
		controllo=true;
		alert("Attenzione: il campo numero2 non pu&oacute; essere vuoto");
	}
	if(isNaN(document.numeri.numero1.value)){
		controllo=true;
		alert("Attenzione: il campo numero1 non e\' un numero");
	}
	if(isNaN(document.numeri.numero2.value)){
		controllo=true;
		alert("Attenzione: il campo numero2 non e\' un numero");
	}
	if (controllo){return false}else{return true}	
}
</script>
</head>
<body>
<form name="numeri"  action="Esercizio1.php" method= "get" target="_blank" OnSubmit="return ControllaForm(this)">
<p> Numero1: <input type="text" name="numero1" /> </p>
<p> Numero2: <input type="text" name="numero2" /> </p>
<p> <input type="submit" name="ris" value="Calcola" /></p>
<p>
  <input type="reset" value="Effettua nuovo calcolo" />
</p>
</form>
</body>
</html>
e questa la Esercizio1.php
PHP:
<?php
if(!isset($_POST['numero1']) || !isset('numero2')){
	echo "non hai inserito un campo";
}else{
	$numero1=$_POST['numero1']; $numero2=$_POST['numero2'];
	if{!is_int($numero1) || !is_int($numero2)){
		echo "i numeri devono essere interi";
	}else{
		if($numero1 < 0 || $numero2 < 0){
			echo "i numeri interi devono essere positivi";
		}else{
			if($numero1 <= 100 || $numero2 <= 100){
				echo "i numeri interi devono minori o uguali a 100";
			}else{
				if($numero1 > $numero2){
					echo "il primo numero deve essere minore del secondo";
				}else{
					$prodotto=$numero1*$numero2;
					echo "risultato: $numero1 x $numero2 = $prodotto";
				}
			}
		}
	}
}
echo "<a href=\"inserisci.php\">nuovo calcolo</a>";
?>
studiatela :book:.
p.s.
verifica anche che non abbia fatto degli errori, l'ho buttata giu così
 
Allora, mi sono studiato il codice che mi hai scritto.. Mi sembrava abbastanza chiaro ed intuitivo, a parte qualche funzione come isNaN che non conoscevo e che sono andato a controllare.
Però... Scrivendo e compilando il tuo codice mi da questo output:

PHP:
if(!isset($_POST['numero1']) || !isset('numero2')){ echo "non hai inserito un campo"; }else{ $numero1=$_POST['numero1']; $numero2=$_POST['numero2']; if{!is_int($numero1) || !is_int($numero2)){ echo "i numeri devono essere interi"; }else{ if($numero1 < 0 || $numero2 < 0){ echo "i numeri interi devono essere positivi"; }else{ if($numero1 <= 100 || $numero2 <= 100){ echo "i numeri interi devono minori o uguali a 100"; }else{ if($numero1 > $numero2){ echo "il primo numero deve essere minore del secondo"; }else{ $prodotto=$numero1*$numero2; echo "risultato: $numero1 x $numero2 = $prodotto"; } } } } } echo "nuovo calcolo"; ?>

e non ho ben capito in quale punto del codice richiami l'apertura della finestra popup in caso di errore...! :(
 
Ultima modifica di un moderatore:
ciao
la parte js viene richiamata da
<form name="numeri" action="Esercizio1.php" method= "get" target="_blank" OnSubmit="return ControllaForm(this)">

per quel tipo di output verifica di aver messo il tag di apertura di php <?php (che mi sembra non ci sia)

dimenticavo:
per la precisione: php non è un linguaggio compilato, ma interpretato
 
Ultima modifica di un moderatore:

Discussioni simili