problema verifica radio button

antonioamabile

Utente Attivo
21 Gen 2010
150
0
16
Salve sono sempre io e per questo mi scuso ma grazie a voi le mie conoscenze aumentano!!!
Ho scritto il seguente script
Codice:
<form action="collegamenti.php" name="orario" method="GET">
<fieldset> <legend>Porto di Partenza</legend>
<input type="text" name="partenza" value="" size="2">
<input type="text" name="minuti" value="" size="2">
  Ischia<input type="radio" name="porto" value="Ischia"/><br>
  Casamicciola<input type="radio" name="porto" value="Casamicciola"/><br>
  Forio<input type="radio" name="porto" value="forio"/><br>
  Beverello<input type="radio" name="porto" value="beverello"/><br>
  Porta di Massa <input type="radio" name="porto" value="massa"/><br>
  Mergellina <input type="radio" name="porto" value="mergellina"/><br>
  Pozzuoli <input type="radio" name="porto" value="pozzuoli"/><br>
</fieldset>

<input type="submit" name="submit" value="invia">
 <input type="reset" value="cancella">
nel file .php vado a verifiacare la validità dei dati,
ma incampo in un errore di definizioene
Codice:
<?php
$hh=$_GET['partenza'];
$min=$_GET['minuti'];
$por=$_GET['porto'];

if(isset($hh)&& isset($min) && isset($por))
{
  if(($hh >0 && $hh<25) && ($min>0 && $min<60))
  {
    echo "Possiamo verificare";
  }
  else
  {
     echo "Orario sbagliato";
  }
}
else
{
  echo "Uno dei parametri è mancante";
  
}
?>
Testando il codice da me scritto mi trovo un notice in caso in cui utilizzo il tasto invia senza aver passato alcun valore!!

Notice: Undefined index: porto in C:\Programmi\EasyPHP 3.0\www\web\capitolo 5\collegamenti.php on line 4
Uno dei parametri è mancante
Spero che mi possiate aiutare inoltre vi chiedo ma può impostare un radio button attivo di defaut???
Grazie mille!!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
metti dei bei var dump per vedere cosa trasmetti

PHP:
var_dump($_GET['partenza']);
var_dump($_GET['minuti']);
var_dump($_GET['porto']);

$hh=$_GET['partenza'];
$min=$_GET['minuti'];
$por=$_GET['porto'];
//....
poi perchè usi il metodo get?
 

antonioamabile

Utente Attivo
21 Gen 2010
150
0
16
Ok ti ringrazio, ma xkè non va bene il metodo GET dovrei usare il metodo Post??? In effetti sono degli orari....di partenza
 

antonioamabile

Utente Attivo
21 Gen 2010
150
0
16
in effetti io ho risolto con una serie di if che verificano il tutto ora il mio problema è quando inserisco la query non riesco visualizzare nulla non me ne viene nessuna buona oggi.....
Codice:
if(($hh >0 && $hh<25) && ($min>0 && $min<60))
    {
	
    $sql = "Select * "
    . "From collegamenti_marittimi, collegamenti_marittimi_porti, porti\n"
    . "where collegamenti_marittimi.id_collegamento=collegamenti_marittimi_porti.id_collegamento\n"
    . "And porti.id=collegamenti_marittimi_porti.id_porto And collegamenti_marittimi.orario_di_partenza=\"$hh $min \"";
          $ris=mysql_query($sql,$mysql);  
		  
          if (!$ris)
                {
                  echo "DB ERRORE, QUERY NON CONNESSA AL DATABASE\N";
                  echo 'MYSQL Error:'.mysql_error();
                  exit;
                }
                  while ($row=mysql_fetch_assoc($ris))
                  { ?> 
                   
                   <p>
                   <?php 
				      echo $row['orari_di_partenza']; 
					  echo $row['collegametni.marittimi.tipologia']; 
				  }
Ho provato la query inserndo un orario con mysql e il tutto funziona, ma se voglio far funzionare con l'operatore Like è possibile perchè non ci riesco?
Ciao Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
subito prima di
$ris=mysql_query($sql,$mysql);
metti il solito var_dump


var_dump($sql);

poi, secondo me, devi togliere /n e poi nel punto
collegamenti_marittimi.orario_di_partenza=\"$hh $min \"" tra la n e \ c'è uno spazio quindi
la query non trovera mai un orario es. 12[spazio]23[spazio] se nel db l'orario è 12[spazio]23
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
scusa dimenticavo:
prima della query io farei
$orario=$hh." ".$min;//se tra ore e minuti c'è uno spazio
anzi per essere sicuro
$orario=trim($hh." ".$min);
anzi meglio
$orario=trim($hh)." ".trim($min);
poi
....collegamenti_marittimi.orario_di_partenza='$orario'";
 

antonioamabile

Utente Attivo
21 Gen 2010
150
0
16
Effettuando le modifiche mi esce il seguente errore
DB ERRORE, QUERY NON CONNESSA AL DATABASE\NMYSQL Error:Tabella/alias non unico: 'collegamenti_marittimi'
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
prima controlla i dati di connessione poi prova a scrivere la query così

PHP:
$sql="SELECT * FROM collegamenti_marittimi AS cm, collegamenti_marittimi_porti AS cmp, porti AS po
WHERE cm.id_collegamento= cmp.id_collegamento AND po.id=cmp.id_porto AND cm.orario_di_partenza='$orario'";
 

antonioamabile

Utente Attivo
21 Gen 2010
150
0
16
Ho risolto parzialmente cosi

Codice:
include ('config.php');
include ('condb.php');
$hh=$_GET['partenza'];
$min=$_GET['minuti'];
$por=$_GET['porto'];
$sec=00;
if(isset($hh)&& isset($min) && isset($por))
{
  if(($hh >0 && $hh<25) && ($min>=-1 && $min<60))
    {
	$orario=(trim($hh).":".trim($min).":".trim($sec));
	$fine=($hh+2);
	//echo "$fine";
	$orario_fine=(trim($fine).":".trim($min).":".trim($sec));
      $sql = "Select *\n"
    . "From collegamenti_marittimi,collegamenti_marittimi_porti, porti\n"
    . " where collegamenti_marittimi.id_collegamento=collegamenti_marittimi_porti.id_collegamento\n"
    . " And porti.id=collegamenti_marittimi_porti.id_porto \n"
    . " And collegamenti_marittimi.orario_di_partenza>\"$orario\" And collegamenti_marittimi.orario_di_partenza <\"$orario_fine\"Order By orario_di_partenza";
        //var_dump($sql);
		$ris=mysql_query($sql,$mysql);  
		  
          if (!$ris)
                {
                  echo "DB ERRORE, QUERY NON CONNESSA AL DATABASE\N";
                  echo 'MYSQL Error:'.mysql_error();
                  exit;
                }
                  while ($row=mysql_fetch_assoc($ris))
                  {  
				      echo $row['orario_di_partenza']; 
					  echo $row['tipologia']; 
					  echo $row['compagnia'];
					  echo $row ?><br>
					  
					  <?php
				  }  
				  
				  
    }
      elseif ($hh==NULL && $min==NULL)
       {
         echo "Attenzione non hai inserito le ore e i minuti";
       }
      elseif ($hh==NULL)
      {
         echo "Mancano le ore";
      }
       elseif($min==NULL)
       {
         echo "Mancano i minuti";
       }
	  else
	  {
	    echo" Attenzione l'orario non esite";
	  }
}
else
{
  echo "ATTENZIONE DATO ERRATO";
}
?>
il problema e che se inserisco una partenza alle ore 07:00 non me la da nel db invece esiste!!!
Ho verificato anche richiamando l'orario 06.59.
L'errore dove avviene su $min??? Grazie mille per la vostra disponibilità!!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
prova in questa maniera, verificando come l'orario viene inserito nel db e che il formato che tu immetti sia uguale

PHP:
<?php
include ('config.php');
include ('condb.php');
$hh=$_GET['partenza'];
$min=$_GET['minuti'];
$por=$_GET['porto'];
//comunque fai un var dump dei get e vedi cosa ti risulta, poi se al posto del metodo get usi il post è meglio
//riduco tutto a stringa, non numero perchè il numero 00 risulta 0
$sec="00";
if(strlen($hh)<2){$hh="0".$hh;}else{$hh="".$hh;}// se h da 0 a 9 divente da 00 a 09
if($hh=="24"){$hh="00";}
if(strlen($min)<2){$min="0".$min;}else{$min="".$min;}//c.s.

if(isset($hh)&& isset($min) && isset($por)){
	if(($hh >="00" && $hh<"24") && ($min >="00" && $min<"60")){
		$orario=(trim($hh).":".trim($min).":".trim($sec));
		$fine=(int)$hh+2;//forzo ad intero
		if($fine >= 24){$fine=$fine-24;}//riporto al valore da 0 a 23, le ore 25 non sono giuste
		if(strlen($fine)<2){$fine="0".$fine;}else{$fine="".$fine;}//c.s.
	//echo "$fine";
		$orario_fine=(trim($fine).":".trim($min).":".trim($sec));
		//a che cavolo ti serve fare tutti i concatenamenti, scrivi la query più semplicemente stando attento agli spazi
		$sql = "SELECT * FROM collegamenti_marittimi AS cm,collegamenti_marittimi_porti AS cmo, porti AS po
 WHERE cm.id_collegamento=cmp.id_collegamento
 AND po.id=collegamenti_marittimi_porti.id_porto
 AND cm.orario_di_partenza >= '$orario' AND cm.orario_di_partenza <= '$fine' ORDR BY cm.orario_di_partenza";
        //var_dump($sql);
		//ecc. ec..........
?>
p.s.
un cosiglio
per essere sicuro che l'utente inserisca l'orario giusto nella forma che vuoi tu (e che ti serve) fai nel form due select

HTML:
<select name="partenza">
  <option>--seleziona ora--</option>
  <option value="00">00</option>
  <option value="01">01</option>
  <!-- eccetera... sino a -->
    <option value="23">23</option>
</select>
<select name="minuti">
  <option>--seleziona minuti--</option>
  <option value="00">00</option>
  <option value="01">01</option>
  <!-- eccetera... sino a -->
    <option value="59">59</option>
</select>
in questo modo devi verificare solo se selezionati e non la loro forma

p.s.
ti allego una parte di manuale sull'uso delle JOIN
 

Allegati

  • JOIN.doc
    27 KB · Visite: 177

antonioamabile

Utente Attivo
21 Gen 2010
150
0
16
cm verifico il risultato della query

Scusate la mia ignoranza ma come posso verificare se una query è vuota io ho postato il codice, ho inserito una if la quale dovrebbe controllare se $row è uguale a Null ma non funziona, il problema di ieri riefito al orario l'ho risoloto diminuendo di 1 minuto l'orario che invio al sistema....Vi ringrazio per quanto fatto fin ora

Codice:
include ('config.php');
include ('condb.php');
$hh=$_GET['partenza'];
$min=$_GET['minuti'];
$por=$_GET['porto'];
$sec=00;
if(isset($hh)&& isset($min) && isset($por))
{
  if(($hh >0 && $hh<25) && ($min>=0 && $min<60))
    {
	$orario=(trim($hh).":".trim($min-1).":".trim($sec));
	$fine=($hh+2);
	//echo "$fine";
	$orario_fine=(trim($fine).":".trim($min).":".trim($sec));
      $sql = "Select *\n"
    . "From collegamenti_marittimi,collegamenti_marittimi_porti, porti\n"
    . " where collegamenti_marittimi.id_collegamento=collegamenti_marittimi_porti.id_collegamento\n"
    . " And porti.id=collegamenti_marittimi_porti.id_porto \n"
    . " And collegamenti_marittimi.orario_di_partenza>\"$orario\" And collegamenti_marittimi.orario_di_partenza <\"$orario_fine\"Order By orario_di_partenza";
        //var_dump($sql);
		$ris=mysql_query($sql,$mysql);  
		  
          if (!$ris)
                {
                  echo "DB ERRORE, QUERY NON CONNESSA AL DATABASE\N";
                  echo 'MYSQL Error:'.mysql_error();
                  exit;
                }
                  while ($row=mysql_fetch_assoc($ris))
                  {  
				      echo $row['orario_di_partenza']; 
					  echo $row['tipologia']; 
					  echo $row['compagnia'];
					  echo $row ?><br>
					  
					  <?php
				  }  
                            if($row==NULL)
                           echo "Impossibile continuare";
				  
				  
    }
      elseif ($hh==NULL && $min==NULL)
       {
         echo "Attenzione non hai inserito le ore e i minuti";
       }
      elseif ($hh==NULL)
      {
         echo "Mancano le ore";
      }
       elseif($min==NULL)
       {
         echo "Mancano i minuti";
       }
	  else
	  {
	    echo" Attenzione l'orario non esite";
	  }
}
else
{
  echo "ATTENZIONE DATO ERRATO";
}
?>
 

antonioamabile

Utente Attivo
21 Gen 2010
150
0
16
Ciao sicuramente sbaglio io faccio la verifica dopo il ciclo, tuttavia mi produce il seguente errore in fase di visualizzazione.....

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmi\EasyPHP 3.0\www\web\capitolo 5\collegamenti.php on line 53
Impossibile continuare

Verificare è fondamentale anche perchè da alcuni porti non puoi puoi andare esempio se vuoi partire da forio, non esiste un aliscafo che va ad ischia.....oppure non vi è un collegamento tra forio e pozzuoli...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
prova così

PHP:
<?php
//quello che c'è prima....
if(mysql_num_rows($ris) >0){//o il contrario come ha detto alex
	while ($row=mysql_fetch_assoc($ris)){  
		echo $row['orario_di_partenza']; 
		echo $row['tipologia']; 
		echo $row['compagnia'];
	}  
 }else{
 	echo "non ci sono orari richiesti<br>";
 }                   
//quello che viene dopo....
?>

p.s.
non complicarti inutilmente la vita
non scrivere
PHP:
<?php echo "qualcosa";?><br>
<?php //eccetera...?>
puoi scrivere semlicemente
PHP:
<?php
echo "qualcosa<br>";
//eccetera...
?>
analogo se al posto di "qualcosa" c'è una variabile

p.s. al p.s.
usa al posto del tag codice: racchiudi tra tag php
 

antonioamabile

Utente Attivo
21 Gen 2010
150
0
16
come al solito siete dei GRANDI!!! Ti ringrazio ancora una volta per il vostro impegno e la vostra disponibilità a nome di tutti gli utenti di mrwebmaster.it
 
Discussioni simili
Autore Titolo Forum Risposte Data
Virginia86 [risolto] Problema select e verifica form PHP 38
P Problema ocon verifica campo in javascript Javascript 7
P problema verifica dati Ajax 58
A problema cona ajax,verifica user gia presente in db Ajax 6
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 0
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1
M Problema Wi-Fi Linux Linux e Software 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
Daniele_Carrara Problema Aperture Mailup Email Marketing 5
F PROBLEMA ACCESSO INSTAGRAM Discussioni Varie 2
R Problema connessione db PHP 7
M problema if PHP 2
G Problema con Get page PHP 4
N Problema passaggio variabili tra pagine PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
H problema carrello woocommerce PHP 2
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
M Problema su query JOIN in tre tabelle PHP 0
S Problema esportazione tabelle Mysql in Excel PHP 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
M Problema su update di 3 tabelle PHP 1
T problema con select dinamica con jquery Javascript 0
A Problema checkout carrello php PHP 2
R Problema al server Domini 0
A Problema nel passare la variabile PHP 0
G Problema update di un database PHP 0
S Problema con spazi bianchi HTML e CSS 4
E Problema motore di ricerca FULL_TEXT PHP 0
Tommy03 Problema durata cookie PHP 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
I PROBLEMA CODICE INSERTION SORT C C/C++ 2
I PROBLEMA CODICE C - INSERTION SORT Presentati al Forum 1

Discussioni simili