[PHP] Passaggio da webapp online a webapp offline

  • Creatore Discussione Creatore Discussione elpirata
  • Data di inizio Data di inizio

elpirata

Utente Attivo
18 Mar 2009
264
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:
 
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
Ciao Macus_adi,
bhe io direi che non è stato utile...è stato risolutivo.

Grazie
 

Discussioni simili