Ultima modifica di nigiu; 08-04-2016 a 13:11
nessuno?
metti i dati che ti servono in una sessione o in un cookie e stampa quelli
un ultima cosa.. io uso il software MAMP.. non è che ha qualcosa bloccato e quindi è questa la causa di tutto?
Dovrei usare MAMP PRO?
Grazie
anche i valori nei cookie risultano nulli.. vi spiego che ho fatto..
Voglio che arduino (o la pagina maker request http) mi invii tramite metodo GET i seguenti dati:
username, password e temperatura
quindi compongo l’url come segue:
indirizzoorta/sottocartelle/indexacquisizione.php?username=Nicola&password=pas sword&temperatura=temperatura
(con temperatura che varia ogni tot..)
su arduino ho costruito lo sketch tranquillamente.
Ora..su lato php
ho creato la pagina php core4 che serve a connettermi al database ecc..
ho creato la pagina php che si chiama indexacquisizione.php:
<?php
session_start();
include('core4.php');
$username=$_GET['username'];
$password=$_GET['password'];
if(mysql_num_rows(mysql_query("SELECT * FROM users WHERE username LIKE '$username' AND password='$password'")) > 0) {
$userid = mysql_result(mysql_query("SELECT id FROM users WHERE username LIKE '$username'"), 0);
$_SESSION['userid'] = $userid;
}else{
}
$temp=$_GET[‘temperatura’];
$_SESSION[‘temperatura’] = $temp;
$sql = "INSERT INTO users (id, temperatura) VALUES( '$userid', '$temp’) ON DUPLICATE KEY UPDATE temperatura = '$temp’;
mysql_query($sql, $myconn);
header('Location: index4Visualizzazione.php');
?>
Una volta acquisita la temperatura passa alla pagina index4Visualizzazione.php:
<?php
session_start();
include('core4.php');
$userid = $_SESSION['userid'];
echo 'il tuo id è: ' .$userid;
$query = "SELECT temperatura FROM users WHERE id= '$userid'";
$result=mysql_query($query, $myconn) or die('Errore sulla query');
// conto il numero di occorrenze trovate nel db
$numrows = mysql_num_rows($result);
echo 'Il numero di occorrenze trovate è:' .$numrows;
// se il database è vuoto lo stampo a video
if ($numrows == 0){
echo "Database vuoto!";
}
// se invece trovo delle occorrenze...
else
{
// avvio un ciclo for che si ripete per il numero di occorrenze trovate
for ($x = 0; $x < $numrows; $x++){
// recupero il contenuto di ogni record trovato
$resrow = mysql_fetch_row($result);
$temp = $resrow[0];
// stampo a video il risultato
echo "LA TEMPERATURA è: <b>" . $temp . "</b>";
}
}
mysql_close($myconn);
?>
bene.. l’inserimento nel database va a buon fine.
Quando, però inserisco nel mio browser l’url:
indirizzoorta/sottocartelle/indexacquisizione.php
mi fa il reindirizzamento (come voluto) alla pagina
indirizzoorta/sottocartelle/indexVisualizzazione.php
con scritto id: LA TEMPERATURA è:
senza alcun valore!!!
Se invece nel browser scrivo:
indirizzoorta/sottocartelle/indexacquisizione.php?username=Nicola&password=pas sword&temperatura=temperatura
mi stampa correttamente tutto…
come posso fare??
perché vorrei che chi si collega alla mia pagina
indirizzoorta/sottocartelle/indexacquisizione.php
veda anch’egli il valore di temperatura!
a mio avviso stai sbagliando approccio
dovresti fare uno script che inserisce i dati nel DB e uno, separato, che ti consente di leggerli
a quel punto avrai che:
- arduino chiama lo script "scriviTemperatura.php" che scrive i dati e non restituisce nulla (al massimo puoi fargli restituire un OK/KO che gestirai in arduino, ad esempio per ritentare l'aggiornamento fallito)
- tu fai il login alla pagina tramite user/passwort e leggi i dati che sono salvati nel DB
In teoria potresti anche fare uno script unico, passando un parametro nella querystring che ti consenta di capire quale azione deve essere svolta (ovviamente, anche quando ti connetti tu dovrai passare user e password se vuoi vedere qualche dato a schermo)
Ah: i login sarebbe sempre meglio farli con metodo POST e le funzioni mysql sono deprecate (usa PDO o mysqli)
Penso di aver capito cosa vuoi dire.. proverò così. ma per script intendi sempre una pagina .php dove vado ad acquisire i soli dati oppure intendi che debba usare un altro tipo di linguaggio? Cioè in questo script che dici devo fare qualcosa di simile alla pagina ( indexacquisizione.php) che ho inserito nel post qui sopra? scusa la domanda banale ma sono nuovissimo![]()
si, sempre pagine .php
quella di inserimento dati potrebbe essere anche quella che hai già fatto, ripulita di alcune parti non necessarie (ad esempio, il redirect o le sessioni) e quella di visualizzazione dati simile
ok grazie mille per le risposte