[PHP] Passaggio da webapp online a webapp offline

elpirata

Utente Attivo
18 Mar 2009
230
7
18
Un saluto a tutti,
per esigenze interne sto trasferendo una mia "webapp" da remoto a locale,
premetto che la webapp in remoto esegue il suo lavoro, anche se andrebbe perfezionata sicuramente, ma diciamo che ci lavoro.

Adesso la stessa webapp lo spostata su una macchina non connessa ad internet, ho installato come webserver xampp e per portarmi avanti, ossia per essere già pronto per il futuro ho utilizzato la versione php 7

Ho sistemato gran parte della webapp (che inizialmente non effettuava nemmeno il login) ed ora mi ritrovo un attimo impantanato su questo codice che mi restituisce questi errori

Errori:
Codice:
Notice: Undefined index: tipo in C:\xampp\htdocs\gos\page\lista_appuntamenti_oggi.phpon line 13

Notice: Undefined index: cliente in C:\xampp\htdocs\gos\page\lista_appuntamenti_oggi.phpon line 14

Notice: Undefined variable: where in C:\xampp\htdocs\gos\page\lista_appuntamenti_oggi.phpon line 53

Codice:
PHP:
<?php
date_default_timezone_set('Europe/Rome');
require_once('function/date_day.php');

//var_dump($_GET['tipo']);
//var_dump($_GET['data']);
//var_dump($_GET['cliente']);

$oggi = date('Y-m-d');



$tipo = trim(strip_tags(stripslashes($_GET['tipo'])));
$cliente = trim(strip_tags(stripslashes($_GET['cliente'])));



if ($tipo == "tutti") {
    $where = "WHERE data = '$oggi'";

}elseif ($tipo == "accettazione" && $cliente == "") {
    $where = "WHERE data = '$oggi' AND stato_pren = 'ATTESA ACCETTAZIONE' ";

}elseif ($tipo == "lavorazione" && $cliente == "") {
    $where = "WHERE data = '$oggi' AND stato_pren = 'LAVORAZIONE' ";

}elseif ($tipo == "terminato" && $cliente == "") {
    $where = "WHERE data = '$oggi' AND stato_pren = 'TERMINATO' ";

}elseif ($tipo == "accettazione" && $cliente == "privato") {
    $where = "WHERE data = '$oggi' AND stato_pren = 'ATTESA ACCETTAZIONE' AND tipo_pren = 'CLIENTE PRIVATO'";

}elseif ($tipo == "lavorazione" && $cliente == "privato") {
    $where = "WHERE data = '$oggi' AND stato_pren = 'LAVORAZIONE' AND tipo_pren = 'CLIENTE PRIVATO'";

}elseif ($tipo == "terminato" && $cliente == "privato") {
    $where = "WHERE data = '$oggi' AND stato_pren = 'TERMINATO' AND tipo_pren = 'CLIENTE PRIVATO'";


}elseif ($tipo == "accettazione" && $cliente == "noleggio") {
    $where = "WHERE data = '$oggi' AND stato_pren = 'ATTESA ACCETTAZIONE' AND tipo_pren = 'CLIENTE NOLEGGIO'";

}elseif ($tipo == "lavorazione" && $cliente == "noleggio") {
    $where = "WHERE data = '$oggi' AND stato_pren = 'LAVORAZIONE' AND tipo_pren = 'CLIENTE NOLEGGIO'";

}elseif ($tipo == "terminato" && $cliente == "noleggio") {
    $where = "WHERE data = '$oggi' AND stato_pren = 'TERMINATO' AND tipo_pren = 'CLIENTE NOLEGGIO'";

}elseif ($tipo == "tutti" && $data == "oggi") {
    $where = "WHERE data = '$oggi' ";
}

$sql = "SELECT * FROM appuntamenti $where ORDER BY ora ASC";
//var_dump($sql);
$res = $mysqli->query($sql);
$count = mysqli_num_rows($res);

if ($count == 0) {

echo "<div class = 'container-ricerca-nulla'>";
echo "<div class ='row'><p class='btn btn-danger center-button'>Nessun appuntamento presente</p></div>";
echo "</div>";

}else{

echo "<div class ='container-appuntamento'>";
echo "<table class='table table-striped table-responsive'>";
echo "<tr>";
echo "<th>Data</th>";
echo "<th>Ora</th>";
echo "<th>Cliente</th>";
echo "<th>Telefono</th>";
echo "<th>Gestore</th>";
echo "<th>Veicolo</th>";
echo "<th>Tipo Pren.</th>";
echo "<th>Tipo Lav.</th>";
echo "<th>Stato Pren.</th>";
echo "<th>Note</th>";
echo "<th>Aggiorna</th>";
echo "<th>Stampa</th>";
echo "</tr>";

while ($row = $res->fetch_array(MYSQLI_ASSOC)) {
$id_app = mysqli_real_escape_string($mysqli, $row['id_app']);
$cliente = mysqli_real_escape_string($mysqli, $row['cliente']);
$data = mysqli_real_escape_string($mysqli, $row['data']);
$ora = mysqli_real_escape_string($mysqli, $row['ora']);
$gestore = mysqli_real_escape_string($mysqli, $row['gestore']);
$veicolo = mysqli_real_escape_string($mysqli, $row['veicolo']);
$stato_pren = mysqli_real_escape_string($mysqli, $row['stato_pren']);
$tipo_pren = mysqli_real_escape_string($mysqli, $row['tipo_pren']);
$tipo_lavorazione = mysqli_real_escape_string($mysqli, $row['tipo_lavorazione']);
$telefono = mysqli_real_escape_string($mysqli, $row['telefono']);
$note = mysqli_real_escape_string($mysqli, $row['note']);

/* FILTRI e CONVERSIONI SULLE VARIABILI POST */
$cliente = trim(strip_tags(stripslashes($cliente)));
$veicolo = trim(strip_tags(stripslashes($veicolo)));
$note = trim(strip_tags(stripslashes($note)));
$data = strtotime($data);
$data = date('d/m/Y', $data);
/* FINE FILTRI e CONVERSIONI SULLE VARIABILI POST */

if ($stato_pren == 'ATTESA ACCETTAZIONE') { $classe = 'table-danger-rs'; }
if ($stato_pren == 'LAVORAZIONE') { $classe = 'table-warning-rs'; }
if ($stato_pren == 'TERMINATO') { $classe = 'table-success-rs'; }

if ($tipo_lavorazione == 'MECCANICA') { $lav = 'table-warning-mec'; }
if ($tipo_lavorazione == 'CARROZZERIA') { $lav = 'table-warning-car'; }
if ($tipo_lavorazione == 'PNEUMATICI') { $lav = 'table-warning-pneus'; }

?>

<tr>
<td><b><?php echo data_it($data); ?></b></td>
<td><?php echo $ora; ?></td>
<td><?php echo $cliente; ?></td>
<td><?php echo $telefono; ?></td>
<td><?php echo $gestore; ?></td>
<td><?php echo $veicolo; ?></td>
<td><?php echo $tipo_pren; ?></td>
<td class='<?= $lav; ?>'><?php echo $tipo_lavorazione; ?></td>
<td class='<?= $classe; ?>'><? echo $stato_pren; ?></td>
<td><?php echo $note; ?></td>
<td><?php echo "<a href='index.php?page=aggiorna_appuntamento&id_app=$id_app' target='_blank'><img src='images/edit.png' alt=''></a>"; ?></td>
<td><?php echo "<a href='pdf_appuntamento.php?id_app=$id_app' target='_blank'><img src='images/print.png' alt='Stampa'></a>"; ?></td>
</tr>

<?php
 }
echo "</table>";
echo "</div>";
}
?>
Mi dareste una mano per capire dove intervenire ?

Grazie :oops:
 

macus_adi

Utente Attivo
5 Dic 2017
1.248
79
48
IT/SW
Per tipo e cliente devono essere passati in GET prima di poter effettuare il trim, se !isset($_GET['tipo']) == 'errore';
$tipo = trim(strip_tags(stripslashes($_GET['tipo'])));
$cliente = trim(strip_tags(stripslashes($_GET['cliente'])));
PHP:
if(isset($_GET['tipo']))$tipo = trim(strip_tags(stripslashes($_GET['tipo'])));
else echo 'errore';
if(isset($_GET['cliente']))$cliente = trim(strip_tags(stripslashes($_GET['cliente'])));
else echo 'errore';
Il where essendo dichiarato dentro l'IF non funziona bene... converrebbe dichiarare il where prima:

PHP:
$tipo='UNDEF';
$cliente='UNDEF';
$where='';
if(isset($_GET['tipo']))$tipo = trim(strip_tags(stripslashes($_GET['tipo'])));
else echo 'errore';
if(isset($_GET['cliente']))$cliente = trim(strip_tags(stripslashes($_GET['cliente'])));
else echo 'errore';
Dovresti prevedere dei dati di default, e nel caso in cui la $where sia vuoto non effettuare la query...
Probabilmente sul server remoto non avevi abilitato gli errori php....!

Spero sia utile!
 
  • Like
Reactions: elpirata

elpirata

Utente Attivo
18 Mar 2009
230
7
18
Ciao Macus_adi,
bhe io direi che non è stato utile...è stato risolutivo.

Grazie