Ciao a tutti. Avrei un problema con il codice che sto scrivendo e spero che possiate aiutarmi.
L'applicazione che vorrei riuscire a realizzare è una sequenza di punti che adesso vi spiego:
1) un utente inserisce la sua username e password personali per effettuare il login;
2) effettuato il login, da una tabella di un database mysql vengono estratti tutti i nomi delle colonne e inseriti in due drop-down box;
3) dai due drop-down box l'utente sceglie un nome delle colonne e clicca un bottone chiamato "Crea e/o Modifica grafico" per creare un grafico.
Questo è ciò che vorrei fare. Il mio problema sta nel fatto che la pagina .php "impazzisce".
Faccio un esempio: se effettuo il login inserendo username e password e clicco il bottone è tutto ok, mentre se clicco il bottone del login senza inserire username e password oppure ne inserisco soltanto uno, una parte del form mi sparisce dallo schermo!!! Succede la stessa identica cosa se clicco il bottone "Crea e/o Modifica grafico"!!!.
Qualcuno di voi sa dirmi dove sbaglio?
Vi posto il codice che ho scritto.
Ciao, grazie in anticipo a tutti.
L'applicazione che vorrei riuscire a realizzare è una sequenza di punti che adesso vi spiego:
1) un utente inserisce la sua username e password personali per effettuare il login;
2) effettuato il login, da una tabella di un database mysql vengono estratti tutti i nomi delle colonne e inseriti in due drop-down box;
3) dai due drop-down box l'utente sceglie un nome delle colonne e clicca un bottone chiamato "Crea e/o Modifica grafico" per creare un grafico.
Questo è ciò che vorrei fare. Il mio problema sta nel fatto che la pagina .php "impazzisce".
Faccio un esempio: se effettuo il login inserendo username e password e clicco il bottone è tutto ok, mentre se clicco il bottone del login senza inserire username e password oppure ne inserisco soltanto uno, una parte del form mi sparisce dallo schermo!!! Succede la stessa identica cosa se clicco il bottone "Crea e/o Modifica grafico"!!!.
Qualcuno di voi sa dirmi dove sbaglio?
Vi posto il codice che ho scritto.
Ciao, grazie in anticipo a tutti.
Codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="it" http-equiv="Content-Language" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Meco</title>
<style type="text/css">
body {
font-family: "Trebuchet MS";
text-align: center;
}
#TESTATA {
width: 1000px;
margin-right: auto;
margin-left: auto;
font-size: 45px;
}
#MENU {
width: 200px;
float: left;
}
#GRAFICO {
width: 800px;
float: left;
}
</style>
</head>
<body>
<div id="TESTATA">
Meco</div>
<br />
<div id="MENU">
<form method="post">
Inserisci i tuoi dati personali per accedere
<br />
<br />
Username
<br />
<input name="username" type="text" style="width: 170px" />
<br />
<br />
Password
<br />
<input name="password" type="password" style="width: 170px" /><br />
<br />
<input name="accedi" style="width: 170px" type="submit" value="Accedi" />
<br />
<hr />
Seleziona gli assi X e Y del grafico<br />
<br />
<input name="crea" type="submit" value="Crea e/o Modifica grafico" style="width: 170px" />
<br />
<br />
<?php
// ==================== INIZIO CODICE LOGIN ====================
require_once ("sessioni.php");
require_once ('testlogin.php');
if (isset ($_POST['accedi']))
{
$user = $_POST['username'];
$pass = $_POST['password'];
if ($user == '')
{
echo "Errore! Utente non impostato.";
}
if ($pass == '')
{
echo "Errore! Password non impostata.";
}
$con = mysql_connect ("localhost", "root","") or die ("Connessione al server fallita!!!".mysql_error());
$db = mysql_select_db ("smart_structure", $con);
if (!$db)
{
die ("Connessione al database smartstructure fallita!!! ".mysql_error());
}
$query = "SELECT id, username FROM utenti WHERE username = '$user' AND password = '$pass'";
$risultato = mysql_query ($query,$con);
if (mysql_num_rows($risultato) == 1)
{
$messaggio = "Accesso effettuato";
$trovato = mysql_fetch_array ($risultato);
$_SESSION['id'] = $trovato ['id'];
$_SESSION['username'] = $trovato ['username'];
// estraggo il "nome_committente" dalla tabella utenti e lo inserisco in un input (text)
$committente = mysql_query("SELECT username, nome_committente FROM utenti WHERE username = '$user' AND password = '$pass' ORDER BY id");
$rec_estr = mysql_fetch_assoc ($committente);
}
else
{
$messaggio = "Utente e/o password errati";
}
if (!empty ($messaggio))
{
echo $messaggio. "</p></font>";
}
$_SESSION['accesso'] = $user;
}
// ==================== FINE CODICE LOGIN ====================
?>
Asse X
<br />
<select name="asse_x" style="width: 170px">
<?php
// leggo i valori di user e password
$user = $_POST['username'];
$pass = $_POST['password'];
// seleziono tutti i nomi delle colonne della tabella "$user" dal database "$monitoraggio"
$con = mysql_connect ("localhost", "root","") or die ("Connessione al server fallita!!!".mysql_error());
$db1 = mysql_select_db ("$rec_estr[nome_committente]", $con);
if (!$db1)
{
die ("Connessione al database $rec_estr[nome_committente] fallita! ".mysql_error());
}
$drop_x = mysql_query("SHOW COLUMNS FROM $user");
if ($campo_x == '')
{
echo '<option>Effettua una scelta</option>';
}
else
{
echo '<option>' .$campo_x.'</option>';
}
while ($record = mysql_fetch_array($drop_x))
{
echo '<option value='.$record[0].'>'.$record[0].'</option>';
}
?>
</select>
<br />
<br />
Asse Y<br />
<select name="asse_y" style="width: 170px">
<?php
// leggo i valori di user e password
$user = $_POST['username'];
$pass = $_POST['password'];
// seleziono tutti i nomi delle colonne della tabella "$user" dal database "$monitoraggio"
$con = mysql_connect ("localhost", "root","") or die ("Connessione al server fallita!!!".mysql_error());
$db1 = mysql_select_db ("$rec_estr[nome_committente]", $con);
if (!$db1)
{
die ("Connessione al database $rec_estr[nome_committente] fallita! ".mysql_error());
}
$drop_y = mysql_query("SHOW COLUMNS FROM $user");
if ($campo_y == '')
{
echo '<option>Effettua una scelta</option>';
}
else
{
echo '<option>' .$campo_y.'</option>';
}
while ($record = mysql_fetch_array($drop_y))
{
echo '<option value='.$record[0].'>'.$record[0].'</option>';
}
?>
</select>
<br />
<hr />
Visualizza e/o scarica documenti
</form>
</div>
<div id="GRAFICO">
<?php
if (isset ($_POST['crea']))
{
// seleziono tutto dalla tabella e faccio la query;
$sql="SELECT * FROM $user";
$sth = mysql_query($sql) or die('Query fallita: ' . mysql_error());
$rows = array();
//flag is not needed
$flag = true;
$table = array();
$selezione_x = $_POST['asse_x'];
$selezione_y = $_POST['asse_y'];
// "costruisco" indicando i nomi delle colonne della tabella - una deve essere in formato stringa (asse x) ed una in formato number (asse y)
$table['cols'] = array(
array('label' => '$selezione_x', 'type' => 'string'),
array('label' => '$selezione_y', 'type' => 'number')
);
$rows = array();
if ($sth)
{
while($r = mysql_fetch_assoc($sth))
{
$temp = array();
$temp[] = array('v' => (string) $r[$selezione_x]);
$temp[] = array('v' => (int) $r[$selezione_y]);
$rows[] = array('c' => $temp);
}
}
$table['rows'] = $rows;
$jsonTable = json_encode($table);
}
?>
<script type="text/javascript" src="jsapi"></script>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
google.load("visualization", "1.1", {packages:["line"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable(<?=$jsonTable?>);
var options = {
chart: {
title: 'Monitoraggio',
subtitle: 'Acquisizione dati'},
series: {
// DEFINISCO GLI ASSI A CUI DARE IL NOME
0: { axis: 'AsseY'}
},
axes: {
// AGGIUNGO IL NOME ALL'ASSE
y: {
AsseY: {label: 'Temperatura (°C)'}
}
}
};
var chart = new google.charts.Line(document.getElementById('linechart_material'));
chart.draw(data, options);
}
</script>
<div id="linechart_material" style="width: 850px; height: 350px; margin-left:auto; margin-right:auto"></div>
<br />
<br />
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1.1", {packages:["table"]});
google.setOnLoadCallback(drawTable);
function drawTable() {
var data = new google.visualization.DataTable(<?=$jsonTable?>);
var table = new google.visualization.Table(document.getElementById('table_div'));
table.draw(data, {showRowNumber: true, width: '850px', height: '100%'});
}
</script>
<div id="table_div"></div>
</div>
</body>
</html>