Da una pagina php ad un'altra

ciao
$id=(int)htmlspecialchars($_GET['id']);
prova a togliere (int)

per is_nan la sintassi mi sembra corretta, prova ad inserire le graffe

PHP:
if ( is_nan($a) ){ echo "Non è un numero <br />"; 
}else{ echo "E' un numero <br />}";

per i valori che hai dato a $a e $b dovrebbe rispondere "Non è un numero"
comunque faccio una prova e ti so dire

per mysql_fetch....
l'errore nasce a monte
$query=mysql_query("SELEC * FROM elenco_clienti WHERE id='$id'");

ti sei dimenticato una T

$query=mysql_query("SELECT * FROM elenco_clienti WHERE id='$id'");

php è molto permaloso
 
ciao
ho capito l'inghippo
is_nan accetta solo valori numerici e ti dicce che non è un numero il risultato dei una operazione
nel manuale prho infatti da come esempio

$nan = acos(8);
var_dump($nan, is_nan($nan));

ora acos(8) è una operazione matematica che da l'arco del coseno, ma l'arco del coseno 8 non esiste (varia da 0 a 1) per cui in tal caso funzia, non è che distingua se numero o stringa.
ti conviene usare is_numeric come es. sotto:

PHP:
<?php
$a = 1; 
$b = "pinco"; 
var_dump($a);
if (!is_numeric($a)){echo "<br>Non è un numero <br>"; 
}else{ echo "<br>E' un numero <br>";}
var_dump($b);
if (!is_numeric($b)){echo "<br>Non è un numero <br>"; 
}else{ echo "<br>E' un numero <br>";}
?>

se la provi ti dice che $a è un numero, $b non è un numero, se vuoi invertire gli if/else attento a ! negazione
 
Ti ringrazio borgo!
Ti posto il codice modificato ma ancora non và...

PHP:
$id=htmlspecialchars($_GET['id']);//leggo l'id proveniente dalla pagina vedi_iscritti.php e lo forzo ad intero 


$a = 1;  
$b = "pinco";  
var_dump($a); 
if (!is_numeric($a)){echo "<br>Non è un numero <br>";  
}else{ echo "<br>E' un numero <br>";} 
var_dump($b); 
if (!is_numeric($b)){echo "<br>Non è un numero <br>";  
}else{ echo "<br>E' un numero <br>";} 


$query=mysql_query("SELECT * FROM elenco_clienti WHERE id='$id'");  
$riga=mysql_fetch_array($query);  
//con tutti i controlli..........  
$nome=$riga['nome'];  
$cognome=$riga['cognome'];
$data_di_nascita=$riga['data_di_nascita'];
 
$data=(int)$riga['data'];  
$data_nascita=date("d.m.Y",$data);//trasformo da time stamp a gg.mm.aaaa  
//tutti gli altri dati  
echo "<table>";  
echo "<tr><td>NOME: </td><td> $nome </td></tr>";  
echo "<tr><td>COGNOME: </td><td> $cognome </td></tr>"; 
echo "<tr><td>DATA DI NASCITA: </td><td> $data_di_nascita </td></tr>"; 
echo "</table>";


Mi dà questo:

Notice: Undefined index: id in c:\programmi\easyphp1-8\www\ccc.php on line 18
int(1)
E' un numero
string(5) "pinco"
Non è un numero
NOME:
COGNOME:
DATA DI NASCITA:

Ho provato a togliere (int) ma nulla...mi dà sembre id variabile non definita.
Per quanto riguarda la funzione is_numeric mi sembra tutto ok.


Borgo, ma per prendere l'id non devo mettere la pagina dove ho l'elenco_clienti.php?

Ti ringrazio!
 
Lo chiedo al database con questo...SELECT * FROM elenco_clienti WHERE id='$id'
Sarà l'ora :hammer:
 
ciao
la riga 18 è
$data=(int)$riga['data']; ?

in che modo hai inserito la data?
in formato gg mmg aa o timestamp?
quale è il formato del campo data?
 
ciao, scusa prima sono stato interrotto (il cliente ha sempre ragione)

tu prendi l'id da

$id=$_GET['id'])

quindi nella pagina precedente o hai un form (con get) o un link con querysringa tipo

<a href="pag_prec.php?id=pinco_pallo...... (o .htm)
comunque subito sotto
$id=htmlspecialchars($_GET['id']);
metti il solito var_dump

var_dump(htmlspecialchars($_GET['id']));

e vedi cosa ti da, se da null o stringa vuota vuol dire che non trasmetti l'id
 
Ciao borgo!
No, la riga 18 è questa:

$id=htmlspecialchars($_GET['id']);

sicuramente perchè non metto il get o il link nella pagina_precedente.php

Posto il codice:

Scusami l'ignoranza...



PHP:
<?php  

// avvio la sessione 
session_start(); 

// Dati connessione al database 
$db_host = 'localhost';        // Host - solitamente localhost 
$db_utente = 'root';        // Nome utente del Database 
$db_password = '';        // Password del Database 
$db_nomedb = '';     // Nome del Database 

// Effettua la connessione al database 
$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error()); 
mysql_select_db($db_nomedb); 

$_GET['<a href="http://localhost/form.php?id=?></a>'] //PAGINA PHP DOVE MANDO I DATI DETTAGLIATAMENTE


//inserimento dei nuovi dati  
$query="INSERT INTO elenco_clienti (  
soc,  
soc_di_appartenenza,  
cognome,  
nome,  
sesso,  
data_di_nascita,  
citta_di_nascita, 
residenza, 
stato_civile, 
figli, 
telefono_abitazione, 
telefono_cellulare, 
utente_da_contattare, 
telefono_abitazione2, 
telefono_cellulare2,
istruzione,
professione,
religione,
data_registrazione)  
VALUES('" .   
addslashes ( $_POST['soc'] ) . "', '" .      
addslashes ( $_POST['soc_di_appartenenza'] ) . "', '" . 
addslashes ( $_POST['cognome'] ) . "', '" .   
addslashes ( $_POST['nome'] ) . "', '" .      
addslashes ( $_POST['sesso'] ) . "', '" .     
addslashes ( $_POST['data_di_nascita'] ) . "', '" .  
addslashes ( $_POST['citta_di_nascita'] ) . "', '" .  
addslashes ( $_POST['residenza'] ) . "', '" .  
addslashes ( $_POST['stato_civile'] ) . "', '" .  
addslashes ( $_POST['figli'] ) . "', '" .    
addslashes ( $_POST['telefono_abitazione'] ) . "', '" .      
addslashes ( $_POST['telefono_cellulare'] ) . "', '" . 
addslashes ( $_POST['utente_da_contattare'] ) . "', '" .   
addslashes ( $_POST['telefono_abitazione2'] ) . "', '" .      
addslashes ( $_POST['telefono_cellulare2'] ) . "', '" .     
addslashes ( $_POST['istruzione'] ) . "', '" .  
addslashes ( $_POST['professione'] ) . "', '" .  
addslashes ( $_POST['religione'] ) . "', '" .    
time() . "')";  


$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() );  

//prendo i parametri e li mostro per ordine di data registrazione  

$query=mysql_query("SELECT id, nome, cognome, data FROM elenco_clienti ORDER BY cognome"); 


$query = "SELECT * FROM elenco_clienti ORDER BY data_registrazione";  
$risultato = mysql_query( $query ) or die ( "Query '$query' fallita:::::" . mysql_error() );  

<head>
<style>
table { 
border: solid 2px #000000; 
text-align: center; 
} 
td { 
solid 1px #000000; 
color: Black; 
background: #F1EBAD; 
}
</style> 
</head>


while ( $elenco_clienti = mysql_fetch_array( $risultato ) )  

{  




echo "<table> 



           <tr> 

                <td><b>SOC:</b>  " . stripslashes($elenco_clienti['soc']) . "</td></tr> 
                <td><b>SOC DI APPARTENENZA:</b>  " . stripslashes($elenco_clienti['soc_di_appartenenza']) . "</td></tr> 
                <td><a href=\"http://www.tuosito.it\">COGNOME " . stripslashes($elenco_clienti['cognome']) . "</a></td></tr>
                <td><a href=\"http://www.tuosito.it\">NOME " . stripslashes($elenco_clienti['nome']) . "</a></td></tr> 
                <td><b>SESSO:</b>  " . stripslashes($elenco_clienti['sesso']) . "</td></tr> 
                <td><b>DATA DI NASCITA:</b>  " . stripslashes($elenco_clienti['data_di_nascita']) . "</td></tr> 
                <td><b>CITTA' DI NASCITA:</b>  " . stripslashes($elenco_clienti['citta_di_nascita']) . "</td></tr> 
                <td><b>RESIDENZA:</b>  " . stripslashes($elenco_clienti['residenza']) . "</td></tr>
                <td><b>STATO CIVILE:</b>  " . stripslashes($elenco_clienti['stato_civile']) . "</td></tr> 
                <td><b>FIGLI:</b>  " . stripslashes($elenco_clienti['figli']) . "</td></tr> 
                <td><b>TELEFONO ABITAZIONE:</b>  " . stripslashes($elenco_clienti['telefono_abitazione']) . "</td></tr> 
                <td><b>TELEFONO CELLULARE:</b>  " . stripslashes($elenco_clienti['telefono_cellulare']) . "</td></tr> 
                <td><b>UTENTE DA CONTATTARE:</b>  " . stripslashes($elenco_clienti['utente_da_contattare']) . "</td></tr> 
                <td><b>TELEFONO ABITAZIONE:</b>  " . stripslashes($elenco_clienti['telefono_abitazione2']) . "</td></tr> 
                <td><b>TELEFONO CELLULARE:</b>  " . stripslashes($elenco_clienti['telefono_cellulare2']) . "</td></tr> 
                <td><b>ISTRUZIONE:</b>  " . stripslashes($elenco_clienti['istruzione']) . "</td></tr> 
                <td><b>PROFESSIONE:</b>  " . stripslashes($elenco_clienti['professione']) . "</td></tr> 
                <td><b>RELIGIONE:</b>  " . stripslashes($elenco_clienti['religione']) . "</td></tr> 
                                </table><br />";  


   echo "<table>
       <td>accettato il " . date( "d/m/Y", $elenco_clienti['data_registrazione'] ) .
       "alle " . date( "H:i" , $elenco_clienti['data_registrazione'] ) . "</td></tr>  
        </tr> 
           </table><br />"; 


} 

?>

La pagina dove dovrebbero arrivarmi i dati non dettagliati con nome, cognome e data di nascita è questa:

PHP:
<?php 

// avvio la sessione 
session_start(); 


// Dati connessione al database 
$db_host = 'localhost';        // Host - solitamente localhost 
$db_utente = 'root';        // Nome utente del Database 
$db_password = '';        // Password del Database 
$db_nomedb = '';     // Nome del Database 

// Effettua la connessione al database 
$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error()); 
mysql_select_db($db_nomedb); 


$id=htmlspecialchars($_GET['id']);//leggo l'id proveniente dalla pagina vedi_iscritti.php e lo forzo ad intero 
var_dump(htmlspecialchars($_GET['id']));


$a = 1;  
$b = "pinco";  
var_dump($a); 
if (!is_numeric($a)){echo "<br>Non è un numero <br>";  
}else{ echo "<br>E' un numero <br>";} 
var_dump($b); 
if (!is_numeric($b)){echo "<br>Non è un numero <br>";  
}else{ echo "<br>E' un numero <br>";} 


$query=mysql_query("SELECT * FROM elenco_clienti WHERE id='$id'");  
$riga=mysql_fetch_array($query);  
//con tutti i controlli..........  
$nome=$riga['nome'];  
$cognome=$riga['cognome'];
$data_di_nascita=$riga['data_di_nascita'];
 
$data=(int)$riga['data'];  
$data_nascita=date("d.m.Y",$data);//trasformo da time stamp a gg.mm.aaaa  
//tutti gli altri dati  
echo "<table>";  
echo "<tr><td>NOME: </td><td> $nome </td></tr>";  
echo "<tr><td>COGNOME: </td><td> $cognome </td></tr>"; 
echo "<tr><td>DATA DI NASCITA: </td><td> $data_di_nascita </td></tr>"; 
echo "</table>"; 
?>

Ti ringrazio borgo!
 
Ultima modifica:
ciao
prova così

PHP:
<?php
/*guarda che la riga sotto non trasmette nulla*/
$_GET['<a href="http://localhost/form.php?id=?></a>'] //PAGINA PHP DOVE MANDO I DATI DETTAGLIATAMENTE 

/*nella pagina (la prima del post) per ciscun clinete devi mettere
il link per inviare l'id alla pagina ricevente
dovresti provare a inserire nella tabella


*/
echo "<table>
//tutti gli altri dati
<tr><td><b>PROFESSIONE:</b>  " . stripslashes($elenco_clienti['professione']) . "</td></tr>  
<tr><td><b>RELIGIONE:</b>  " . stripslashes($elenco_clienti['religione']) . "</td></tr>
<tr><td><a href=\"pagina_che_riceve.php?id=".$elenco_clienti['id']."\">clicca per dettagli</a>
 
</table><br />";   
/*la querystringa che trasmette è ...?id=".$elenco_clienti['id']
non serve il percorso assoluro http://....
se la pagina che riceve è in un'altra cartella
<a href=\"altra_cartella/pagina_che_riceve.php?id=".$elenco_clienti['id']."\".....
*/

p.s.
ti viene giusta la tabella? chiudi molti tr </tr> e ne apri solo uno <tr>
 
Io non volevo fare così...ti spiego...ho due bottoni, uno "INSERIMENTO DATI CLIENTI" ci clicco e mi viene fuori il form dettagliato che compilo e mi viene poi tutto riportato secondo le tabelle che ho fatto, lì è tutto ok.

Nell'altro bottone ho "ELENCO CLIENTI" dove vorrei mi venisse fuori solo nome, cognome e data di nascita.

Grazie!
 
ciao
col bottone "elenco clienti" ti porti in una pagina elenco con tutti i clienti?
se è così ti basta una select

$query=mysql_query("SELECT nome, cognome, data_nascita FROM elenco_clienti ORDER BYcognome");

echo "<table>";
echo "<tr><td>nome</td><td>cognome</td><td>data nascita</td></tr>";
while($riga=mysql_fetch_array($query)){
$nome=$riga['nome'];
$cognome=$riga['cognome'];
$data_n=$riga['data_nascita'];
echo "<tr><td>$nome</td><td>$cognome</td><td>$data_nascita</td></tr>";
}
echo "</table>";

se invece vuoi solo un cliente devi per forza trasmettere l'id
 
No no, scusami se mi sono spiegato male, io vorrei che tutti i clienti venissero sia in modo minuzioso col form di prima e cliccando l'altro bottone tutti i clienti solo con il nome, cognome e data di nascita.

Questo è il primo importante passo che dovrei fare...

Allora ho messo il codice:

PHP:
<?php 

// avvio la sessione 
session_start(); 


// Dati connessione al database 
$db_host = 'localhost';        // Host - solitamente localhost 
$db_utente = 'root';        // Nome utente del Database 
$db_password = '';        // Password del Database 
$db_nomedb = '';     // Nome del Database 

// Effettua la connessione al database 
$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error()); 
mysql_select_db($db_nomedb); 



$query=mysql_query("SELECT nome, cognome, data_nascita FROM elenco_clienti ORDER BYcognome");

echo "<table>";
echo "<tr><td>nome</td><td>cognome</td><td>data nascita</td></tr>";
while($riga=mysql_fetch_array($query)){
$nome=$riga['soc'];
$cognome=$riga['cognome'];
$data_n=$riga['data_nascita'];
echo "<tr><td>$nome</td><td>$cognome</td><td>$data_nascita</td></tr>";
}
echo "</table>";
?>

ma mi dà questo...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\ddd.php on line 23

La riga 23 è questa:

while($riga=mysql_fetch_array($query)){

Grazie!!!
 
ciao
l'errore nasce prima

$query=mysql_query("SELECT nome, cognome, data_nascita FROM elenco_clienti ORDER BYcognome");

manca spazio


$query=mysql_query("SELECT nome, cognome, data_nascita FROM elenco_clienti ORDER BY cognome");
 
Risolto borgo, ti ringrazio moltissimo!!!

Per quanto riguarda il form di prima (un problema che mi ha sempre dato) ma volevo risolverlo alla fine

PHP:
[PHP]<?php  

// avvio la sessione 
session_start(); 

// Dati connessione al database 
$db_host = 'localhost';        // Host - solitamente localhost 
$db_utente = 'root';        // Nome utente del Database 
$db_password = '';        // Password del Database 
$db_nomedb = '';     // Nome del Database 

// Effettua la connessione al database 
$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error()); 
mysql_select_db($db_nomedb); 

$_GET['<a href="http://localhost/form.php?id=?></a>'] //PAGINA PHP DOVE MANDO I DATI DETTAGLIATAMENTE


//inserimento dei nuovi dati  
$query="INSERT INTO elenco_clienti (  
soc,  
soc_di_appartenenza,  
cognome,  
nome,  
sesso,  
data_di_nascita,  
citta_di_nascita, 
residenza, 
stato_civile, 
figli, 
telefono_abitazione, 
telefono_cellulare, 
utente_da_contattare, 
telefono_abitazione2, 
telefono_cellulare2,
istruzione,
professione,
religione,
data_registrazione)  
VALUES('" .   
addslashes ( $_POST['soc'] ) . "', '" .      
addslashes ( $_POST['soc_di_appartenenza'] ) . "', '" . 
addslashes ( $_POST['cognome'] ) . "', '" .   
addslashes ( $_POST['nome'] ) . "', '" .      
addslashes ( $_POST['sesso'] ) . "', '" .     
addslashes ( $_POST['data_di_nascita'] ) . "', '" .  
addslashes ( $_POST['citta_di_nascita'] ) . "', '" .  
addslashes ( $_POST['residenza'] ) . "', '" .  
addslashes ( $_POST['stato_civile'] ) . "', '" .  
addslashes ( $_POST['figli'] ) . "', '" .    
addslashes ( $_POST['telefono_abitazione'] ) . "', '" .      
addslashes ( $_POST['telefono_cellulare'] ) . "', '" . 
addslashes ( $_POST['utente_da_contattare'] ) . "', '" .   
addslashes ( $_POST['telefono_abitazione2'] ) . "', '" .      
addslashes ( $_POST['telefono_cellulare2'] ) . "', '" .     
addslashes ( $_POST['istruzione'] ) . "', '" .  
addslashes ( $_POST['professione'] ) . "', '" .  
addslashes ( $_POST['religione'] ) . "', '" .    
time() . "')";  


$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() );  

//prendo i parametri e li mostro per ordine di data registrazione  

$query=mysql_query("SELECT id, nome, cognome, data FROM elenco_clienti ORDER BY cognome"); 


$query = "SELECT * FROM elenco_clienti ORDER BY data_registrazione";  
$risultato = mysql_query( $query ) or die ( "Query '$query' fallita:::::" . mysql_error() );  

<head>
<style>
table { 
border: solid 2px #000000; 
text-align: center; 
} 
td { 
solid 1px #000000; 
color: Black; 
background: #F1EBAD; 
}
</style> 
</head>


while ( $elenco_clienti = mysql_fetch_array( $risultato ) )  

{  




echo "<table> 



           <tr> 

                <td><b>SOC:</b>  " . stripslashes($elenco_clienti['soc']) . "</td></tr> 
                <td><b>SOC DI APPARTENENZA:</b>  " . stripslashes($elenco_clienti['soc_di_appartenenza']) . "</td></tr> 
                <td><a href=\"http://www.tuosito.it\">COGNOME " . stripslashes($elenco_clienti['cognome']) . "</a></td></tr>
                <td><a href=\"http://www.tuosito.it\">NOME " . stripslashes($elenco_clienti['nome']) . "</a></td></tr> 
                <td><b>SESSO:</b>  " . stripslashes($elenco_clienti['sesso']) . "</td></tr> 
                <td><b>DATA DI NASCITA:</b>  " . stripslashes($elenco_clienti['data_di_nascita']) . "</td></tr> 
                <td><b>CITTA' DI NASCITA:</b>  " . stripslashes($elenco_clienti['citta_di_nascita']) . "</td></tr> 
                <td><b>RESIDENZA:</b>  " . stripslashes($elenco_clienti['residenza']) . "</td></tr>
                <td><b>STATO CIVILE:</b>  " . stripslashes($elenco_clienti['stato_civile']) . "</td></tr> 
                <td><b>FIGLI:</b>  " . stripslashes($elenco_clienti['figli']) . "</td></tr> 
                <td><b>TELEFONO ABITAZIONE:</b>  " . stripslashes($elenco_clienti['telefono_abitazione']) . "</td></tr> 
                <td><b>TELEFONO CELLULARE:</b>  " . stripslashes($elenco_clienti['telefono_cellulare']) . "</td></tr> 
                <td><b>UTENTE DA CONTATTARE:</b>  " . stripslashes($elenco_clienti['utente_da_contattare']) . "</td></tr> 
                <td><b>TELEFONO ABITAZIONE:</b>  " . stripslashes($elenco_clienti['telefono_abitazione2']) . "</td></tr> 
                <td><b>TELEFONO CELLULARE:</b>  " . stripslashes($elenco_clienti['telefono_cellulare2']) . "</td></tr> 
                <td><b>ISTRUZIONE:</b>  " . stripslashes($elenco_clienti['istruzione']) . "</td></tr> 
                <td><b>PROFESSIONE:</b>  " . stripslashes($elenco_clienti['professione']) . "</td></tr> 
                <td><b>RELIGIONE:</b>  " . stripslashes($elenco_clienti['religione']) . "</td></tr> 
                                </table><br />";

Mi dà queste notice:

Notice: Undefined index: sesso in c:\programmi\easyphp1-8\www\form.php on line 49

Notice: Undefined index: stato_civile in c:\programmi\easyphp1-8\www\form.php on line 53

...questo solo quando non li compilo, mentre gli altri campi posso anche non compilarli che non mi dice niente...posso ovviare questo problema?

Grazie!:fonzie:
 
ciao
forse dipende dalla tabella, se il campo è vuoto da NULL, prova a dare nella tabella ai due campi un valore di default es. ND (non dichiarato)
come hai impostato i campi?
 
Ultima modifica:
Niente borgo, il predefinito non me lo prende, ho messo ND sia con NULL che con NOT NULL. Mi dà soliti notice...
 
cioa
foerse una cosa che non c'entra, ma perche hai messo in mezzo al php del codice html?

<head>
<style>
table {
border: solid 2px #000000;
text-align: center;
}
td {
solid 1px #000000;
color: Black;
background: #F1EBAD;
}
</style>
</head>

intanto non serve <head></head>, poi essendo html devi chiudere pho e riaprirlo dopo


?>

<style>
table {
border: solid 2px #000000;
text-align: center;
}
td {
solid 1px #000000;
color: Black;
background: #F1EBAD;
}
</style>
<?php

per l'errore rirovo a guardare poi ti so dire
 
ciao
a parte alcune incongruenze

//prendo i parametri e li mostro per ordine di data registrazione
//a che ti serve questa riga????????????
$query=mysql_query("SELECT id, nome, cognome, data FROM elenco_clienti ORDER BY cognome");

//quando sotto hai questa???????
$query = "SELECT * FROM elenco_clienti ORDER BY data_registrazione";
$risultato = mysql_query( $query ) or die ( "Query '$query' fallita:::::" . mysql_error() );

e non fai due interrogazioni?

altra cosa, ma forse l'hai fatto per non scrivere tutto il codice

manca la } di chiusura del while

il form è nella stessa pagina?

come ha impostato i campi sesso e stato_civile?

le righe 49 e 53 sono queste?
<td><b>SESSO:</b> " . stripslashes($elenco_clienti['sesso']) . "</td></tr>

<td><b>STATO CIVILE:</b> " . stripslashes($elenco_clienti['stato_civile']) . "</td></tr>

che sembrerebbero corrette
 

Discussioni simili