Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Php e Javascript incompatibili?

    Buona sera, ho un problema nel far visualizzare, i controlli che faccio in php dentro una finestra _blank, ma realizzata in javascript.

    Ho provato svariati script adattandoli, all'infinito ma, il problema che ne consegue è che mi restituisce sempre il primo controllo,anche se inserisco tutti i dati giusti... quello che ho capito è che non passa le variabili es: $nome=$_POST["nome"]; ect ect...,da una normale pagina php ad una javascript. Come mai?

    Vi posto una parte di controllo....

    pagina confermaregistrazione.php

    $nome = $_POST["nome"];
    $cognome = $_POST["cognome"];
    $strada = $_POST["strada"];
    $indir = $_POST["indirizzo"];
    $ncivico = $_POST["ncivico"];
    $indirizzo = $strada . " " . $indir . " " . "," . $ncivico;
    $cap = $_POST["cap"];
    $citta = $_POST["citta"];
    $provincia = $_POST["provincia"];
    $cell = $_POST["cell"];
    $email=$_POST["email"];
    $login = $_POST["login"];
    $password = $_POST["password"];

    if($nome=="" && $cognome=="" && $strada=="" && $indir=="" && $ncivico=="" &&
    $cap=="" && $citta=="" && $provincia=="" && $cell=="" && $email=="" &&
    $login=="" && $password==""){
    echo("<hr>
    <font face='Verdana, Arial, Helvetica, sans-serif' size='+1' color='#FFFFFFF'>
    GESTIONE ERRORI!!
    </font>
    <hr><center>
    <font face=verdana color=black size=3>

    Devi Riempire tutti i campi con l'asterisco!
    </font></center>");
    }
    elseif($nome=="" || $cognome=="" || $strada=="" || $indir=="" || $ncivico=="" ||
    $cap=="" || $citta=="" || $provincia=="" || $cell=="" || $email=="" ||
    $login=="" || $password==""){
    echo("<hr>
    <font face='Verdana, Arial, Helvetica, sans-serif' size='+1' color='#FFFFFFF'>
    GESTIONE ERRORI!!
    </font>
    <hr><center>
    <font face=verdana color=black size=3>

    Hai dimenticato di riempire uno o più campi con l'asterisco!
    </font></center>");
    }
    questa è la pagina dove ho il form che invia i dati,con lo script JS:
    <script>
    function mexReg(str) {
    searchWin = window.open(str,'mexReg','scrollbars=no,resizable= no,width=390,height=100,left=300,top=400,status=no ,location=no,toolbar=no');
    searchWin.refer = self;
    }
    </script>
    <body>
    <center>
    <form action="javascript:mexReg('verifica_inserimenti/confermaRegistrazione.php')" method="post">
    <table border="0" width="465" height="200">
    <tr>
    <td width="100%" height="10%" align="center">
    <font face="Verdana, Arial, Helvetica, sans-serif" size="+1" color="#FFFFFF">
    Area Privata
    </font>
    </td>
    </tr>
    <tr>
    <td width="100%" height="60%" align="center">
    <font face="Arial, Helvetica, sans-serif" size="-2" color="#FFFFFF">


    * Nome: <input type="text" name="nome" maxlength="16" size="15">

    * Cognome: <input type="text" name="cognome" maxlength="16" size="15">
    </font>

    etc etc...

    <input type="reset" name="pulisci" value="Reimposta">
    <input type="Submit" name="invia" value="Invia">
    </td>
    </tr>
    </table>
    </form>

    è molto più lungo, ma non è necessario postarlo tutto...
    mi dite cortesemente come faccio per farmi restituire, i vari controlli dentro una finestra javascript,ovviamente senza toolbar, statusbar etc etc...

    Non so se mi sono spiegato...
    Grazie mille....

  2. #2
    Vediamo se ho capito bene.
    Ti posto un esempio e poi tu lo personalizzi secondo le tue esigenze.
    Tutto ciò che segue va dentro la stessa pagina di nome comevuoitu.htm

    codice:
    <html><head>
    <title>nome pagina</title>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    //  ------ check form ------
    function checkData() {
    	var f1 = document.forms[0];
    	var wm = "Caro visitatore,\nriempi i campi con i seguenti dati:\n\r\n";
    	var noerror = 1;
    
    	// --- entered_login ---
    	var t1 = f1.entered_login;
    	if (t1.value == "" || t1.value == " ") {
    		wm += "Nome utente\r\n";
    		noerror = 0;
    	}
    
    	// --- entered_password ---
    	var t1 = f1.entered_password;
    	if (t1.value == "" || t1.value == " ") {
    		wm += "Password\r\n";
    		noerror = 0;
    	}
    
    	// --- check if errors occurred ---
    	if (noerror == 0) {
    		alert(wm);
    		return false;
    	}
    	else return true;
    }
    //-->
    </SCRIPT>
    
    </head>
    
    <body><center>
    <form action='/persorso/pagina_che_riceve_i_dati.php' METHOD="post" onSubmit="return checkData()">
    Nome utente: 
    <INPUT TYPE="text" NAME="entered_login" STYLE="font-size: 9pt;" TABINDEX="1">
    
    
    
    Password: 
    <INPUT TYPE="password" NAME="entered_password" STYLE="font-size: 9pt;" TABINDEX="1">
    
    
    <INPUT TYPE=submit value="Entra &gt;&gt;&gt;" TABINDEX="1">
    </form>
    </center>
    
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    document.forms[0].entered_login.select();
    document.forms[0].entered_login.focus();
    //-->
    </SCRIPT>
    </body></html>
    In pratica: la pagina invia i dati a se stessa, controlla che le caselle siano state riempite e in caso di errori apre un alert (ma puoi sostituirlo con una popup) in cui specifica l'errore.
    Se i campi sono stati riempiti i dati vengono inviati alla pagina /persorso/pagina_che_riceve_i_dati.php per essere controllati-salvati.
    Non dovresti avere grosse difficoltà a personalizzarlo se hai capito come funziona.
    Se hai ancora problemi fai un fischio qui.

    Lo script DEVE essere perfezionato perché come vedi accetta un nome utente costituito da 2 o più spazi e una password costituita da 2 o più spazi. Non so se in javascript esiste una funzione tipo trim del php che elimina in una stringa gli spazi iniziali e finali.
    Tale funzione andrebbe applicata a t1 prima del controllo
    codice:
    if (t1.value == "" || t1.value == " ")
    Ciao
    Make Pazziata-tàààà NOT war!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.