Script che funziona se azionato da solo...che non funziona se inserito nel sito

  • Creatore Discussione Creatore Discussione vitelli
  • Data di inizio Data di inizio

vitelli

Utente Attivo
23 Mar 2012
41
0
0
Allora ragazzi non capisco il motivo di questo script che funziona se usato da solo, ma che non funziona se l'inserisco all'interno di una pagina php di una mia applicazione... cosa posso provare? lo script è questo che riporto...

PHP:
<script src="js/jquery.min.js"></script>
<script src="js/latlon.js">/* Latitude/Longitude formulae */</script>
<script src="js/geo.js">/* Geodesy representation conversions */</script>
<script>
  $(document).ready(function() {
    $('#calc-dist').click(function() {
      var p1 = new LatLon(Geo.parseDMS($('#lat1').val()), Geo.parseDMS($('#lon1').val()));
      var p2 = new LatLon(Geo.parseDMS($('#lat2').val()), Geo.parseDMS($('#lon2').val()));
      $('#result-distance').html(p1.distanceTo(p2)+' km');
    });
  });
</script>
<form>
  Lat1: <input type="text" name="lat1" id="lat1"> Lon1: <input type="text" name="lon1" id="lon1">
  Lat2: <input type="text" name="lat2" id="lat2"> Lon2: <input type="text" name="lon2" id="lon2">
  
  <button id="calc-dist">Calculate distance</button>
  
  <output id="result-distance"></output>
  Distanza <name="distanza" id="result-distance">
  </form>
 
js/jquery.min.js

Magari il problema puo essere nel percorso che indichi per i file di jquery visto che non usi percorsi assoluti
potrebbe essere cosi per esempio:

../js/jquery.min.js

se sei dentro una directory

oppure assoluto:

/js/jquery.min.js

con lo slash davanti
 
Allora, ho risolto il problema! era un problema nell'header che non m'ero accorto che veniva caricato dopo l'inserimento delle posizioni degli script! cmq ora vi chiedo l'ultimo aiuto su un problem che ho riscontrato, in poche parole io ora all'interno della miapagina ho 2 tasti, uno REGISTRATI ed uno CALCULATE_DISTANCe, calculate_distance non fa altro che richiamare la funzione #calc_dist per calcolare la distanza tra una coppia di coordinate terrestri, ora quello che vorrei fare è far in modo che l'utente premesse 1 sola volta il tasto registrati e riuscisse sia a chiamare la funzione #calc_dist e sia a passare i parametri per un futura salvataggio all'interno del Database.. la cosa è possibile da gestire?????????

vi allego il codice così capite meglio cosa intendo

PHP:
<?php

include'header.php';

?>
 <script>
  $(document).ready(function() {
    $('#calc-dist').click(function() {
      var p1 = new LatLon(Geo.parseDMS($('#lat1').val()), Geo.parseDMS($('#lon1').val()));
      var p2 = new LatLon(Geo.parseDMS($('#lat2').val()), Geo.parseDMS($('#lon2').val()));
      $('#result-distance').html(p1.distanceTo(p2)+' km');
    });
  });
</script>


<div id="wrapper">

<?php
$latitudinenegozio=40.6256298;
$longitudinenegozio=14.372171500000036;
if (!isset($_POST['invia'])){ ?>
<form method="post" action="#" id="formregistrazione">
				<ul> 
					<li>
						<label for="username">Username</label>
						<input type="text" name="username" id="username" />
					</li>
					
					<li>
						<label for="password1">Password</label>
						<input type="password" name="password1" id="password1" />
					</li>
					
					<li>
						<label for="password2">Conferma Password</label>
						<input type="password" name="password2" id="password2" />
					</li>
					
					<li>
						<label for="email">E-mail</label>
						<input type="text" name="email" id="email" />
					</li>
					<li>
						<label for="nome">Nome</label>
						<input type="text" name="nome" id="nome" />
					</li>
					<li>
						<label for="cognome">Cognome</label>
						<input type="text" name="cognome" id="cognome" />
					</li>
					<li>
					<label for="indirizzo"> Indirizzo per consegna </label>
					<input type="text" name="indirizzo" id="indirizzo" />
					
					<a href='#' id="GetMaps" > Ottieni coordinate! </a>
					</li>

  Lat1: <input type="text" name="lat1" id="lat1"> 
  Lon1: <input type="text" name="lon1" id="lon1">
  Lat2: <input type="text" name="lat2"value="<?php echo $latitudinenegozio; ?>" id="lat2"> 
  Lon2: <input type="text" name="lon2"  value="<?php echo $longitudinenegozio; ?>" id="lon2">
 
 <button id="calc-dist">Calculate distance</button>
  <output id="result-distance"></output>
  Distanza <name="distanza" id="result-distance">
 </ul>	
 <input type="submit" name="invia" id="registrati" value="Registrati" />
 </form>

 <?php
} else {

//valori del form
$username=mysql_real_escape_string($_POST['username']);
$password1=mysql_real_escape_string($_POST['password1']);
$password2=mysql_real_escape_string($_POST['password2']);
$email=mysql_real_escape_string($_POST['email']);
$nome=mysql_real_escape_string($_POST['nome']);
$cognome=mysql_real_escape_string($_POST['cognome']);
$indirizzo=mysql_real_escape_string($_POST['indirizzo']);
$lat1=mysql_real_escape_string($_POST['lat1']);
$lon1=mysql_real_escape_string($_POST['lon1']);
$distanza=mysql_real_escape_string($_POST['result-distance']);
//controllo campi vuoi e password

if ($username == "") {
				echo "ERRORE - Campo username vuoto";
			} elseif ($lat1=='' && $lon1=='') {
			    echo "ERRORE INSERIRE COORDINATE!!!!";
			}
			elseif ($password1 == "" || $password2 == "") {
				echo "ERRORE - Campo password vuoto";
			} elseif ($email == "") {
				echo "ERRORE - Campo email vuoto";
			} elseif ($distanza >20) {
			echo "IMPOSSIBILE Continuare la registrazione, distanza superiore ai 20 Km per la consegna";
			}
			elseif ($password2 != $password1) {
				echo "ERRORE - Le password non coincidono"; 	
			}  else {
			
				//verifico se la username e l'email sono disponibili o se sono state gia usate da un altro utente
				$disponibilita = mysql_query("SELECT id FROM utenti WHERE username='$username' OR email='$email'"); 
				$num_righe = mysql_num_rows($disponibilita); 
				
				if ($num_righe > 0) {
					echo "Username o Email già utilizzati.<br><br>";
					echo "Stai per essere reindirizzato alla pagina di registrazione... Attendi.";
					header("Refresh: 3; URL= register.php");   //Redirect alla pagina di registrazione
					
					
				} else { //Username e Email disponibili. Inseriamo i dati nel database 'utenti'
				
					$password3=md5($password2); //criptiamo la password in md5 (se accediamo al database non la leggeremo in chiaro)
					
					$inviautente = mysql_query("INSERT INTO utenti (username, password, email, nome, cognome, indirizzo, latitudine, longitudine,distanza) VALUES ('$username', '$password3', '$email','$nome','$cognome','$indirizzo','$lat1','$lon1','$distanza')");
					
					if ($username == "admin") {
						//se è l'admin, modifica il campo della tabella riguardante i privilegi
						mysql_query("UPDATE utenti SET privilegi = '1' WHERE username='$username'"); 
					}
					if ($username == "cucina") {
						//se è l'admin, modifica il campo della tabella riguardante i privilegi
						mysql_query("UPDATE utenti SET privilegi = '3' WHERE username='$username'"); 
					}
						
					if ($inviautente) { //Verifichiamo l'esito dell'inserimento nel DB
						echo "Account creato con successo.<br><br>";
						echo "Stai per essere indirizzato alla pagina di login... Attendi.";
						header("Refresh: 4; URL= login.php?azione=login");  //Redirect alla home page dopo il login
																			//Refresh 2 --> dopo due secondi
																			//url --> pagina di destinazione
					} else {
						echo "ERRORE - Account non creato.<br><br>";
						echo "Stai per essere nuovamente indirizzato alla pagina di registrazione... Attendi.";
						header("Refresh: 4; URL= register.php");	//Redirect alla pagina di login
					}
					
						
					
				}
			}		
		}
	?>
	
	</div>
	
</body>
</html>
 

Discussioni simili