[PHP] Aiuto per gestione file CSV

piero60

Utente Attivo
26 Gen 2015
71
2
8
Salve a tutti,
avrei bisogno di un aiutino, questa porzione di codice funziona
perfettamente, ho bisogno di implementarla con quanto spiegato subito sotto

PHP:
<?php

// carico le informazioni sugli elementi
$map = array();

if (($handle = fopen('elementi.csv', 'r')) !== FALSE)
{
    while (($data = fgetcsv($handle, 1000, ';')) !== FALSE)
    {
        $map[] = array(    'id'        => $data[0],
                        'settore'    => $data[1],
                        'fila'        => $data[2],
                        'numero'    => $data[3],
                        'intero'    => $data[4],
                        'aperto'    => $data[5],
                        'status'    => $data[6],
                        'selected'    => $data[7]
                );
    }
    fclose($handle);
}

// simula il controllo della disponibilità degli elementi
$id = intval($_REQUEST['id']);
$ret = $map[$id];
$ret['result'] = 1;
   
echo json_encode($ret);

// DA QUI IN POI HO BISOGNO DI RECUPERARE IN UN ALTRA PAGINA PHP IL VALORE DI $ret
//CHE CONTIENE UNA SCELTA FATTA DALL'UTENTE

?>

QUESTO E' IL CONTENUTO DEL FILE CSV NEL QUALE IL PRIMO VALORE A SINISTRA INDICA LA RIGA,
QUINDI SE PER ESEMPIO L'UTENTE HA SELEZIONATO L'ELEMENTO DELLA SECONDA RIGA LA VARIABILE $ret
CONTERRA'SOLAMENTE IL VALORE INTERO DELLA SECONDA RIGA

01;Elemento;A;01;10.00;8.50;L;0
02;Elemento;A;02;10.00;8.50;L;0
03;Elemento;A;03;10.00;8.50;L;0
ECC
ECC
ECC

recuperata la variabile $ret in un altra pagina, ho bisogno di aprire il file "elementi.csv"
recuperarne il suo contenuto per intero e puntare alla riga da riscrivere, quindi quella il cui
valore corrisponde al primo valore di sinistra della variabile $ret.

$ret contiene l'intera riga non ne cambia i valori, restituisce solamente la riga del file csv
selezionata dall'utente.

Ho bisogno di riscrivere e salvare per intero così come era e nello stesso formato "elementi.csv"
cambiando solo 2 valori relativi alla linea selezionata, i valori sono gli ultimi 2.
L diventa O e 0 diventa 1

Qualcuno sa darmi una dritta.
Grazie a tutti.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
puoi provare una cosa del genere, prova a parte per non rovinare eventualmente quello che hai di gia
se funzia poi i var_dump toglili, li ho messi solo per vedere come si svolge
PHP:
<?php
$contiene=file('prova.csv');//ho messo i valori del tuo esempio
echo "<pre>";
var_dump($contiene);
$ret="02";
foreach($contiene as $chiave => $valore){
    $pos=strripos((string)$valore, $ret);
    var_dump($pos);
    if($pos !== FALSE){
        $dividi=explode(";",$valore);
        var_dump($dividi);
        $dividi[4]="O";//è una "o" o deve essere zero?
        $dividi[5]="1";
        $contiene[$chiave] = implode(";", $dividi);
    }
}
echo "<hr>";
var_dump($contiene);//sullo 02 modificati L in O e 0 in 1
//e ricrei il file csv
$fp = fopen('prova.csv', 'w');
foreach ($contiene as $elementi) {
    fputcsv($fp, $elementi);
}
fclose($fp);
echo "<pre>"
?>
al massimo non funzia
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Ciao Borgo Italia, grazie per l'aiuto.
Ho fatto una prova al volo utilizzando il codice che hai postato da solo al di fuori di tutto il resto ma viene restituito l'errore che allego ed il file riscritto è vuoto.

Warning: fputcsv() expects parameter 2 to be array, string given in D:\xampp\htdocs\test\scrivi.php on line 22

L'errore viene ripetuto n volte per quante sono le righe del file CSV.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova a correggere l'ultima parte così
PHP:
<?php
//.....
echo "<hr>";
var_dump($contiene);//sullo 02 modificati L in O e 0 in 1
//e ricrei il file csv
$arr_di_arr=array($contiene);
var_dump($arr_di_arr);//guarda cosa risulta
$fp = fopen('prova.csv', 'w');
foreach ($arr_di_arr as $elementi) {
    fputcsv($fp, $elementi);
}
fclose($fp);
echo "<pre>"
?>
dimenticavo, prima il codicce viene cambiato da L a O e da 0 a 1?
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Ciao Borgo Italia, grazie.
Si adesso il file lo scrive ma in modo sbagliato, ovvero così:

RIGA 01 """01;Elemento;A;01;10.00;8.50;L;0
RIGA 02 ",""",""02;Elemento;A;02;10.00;8.50;L;0
RIGA 03 ",""",""03;Elemento;A;03;10.00;8.50;L;0 ecc.ecc.

il file originale invece è così:

RIGA 01 01;Elemento;A;001;10.00;8.50;L;0
RIGA 02 02;Elemento;A;002;10.00;8.50;L;0
RIGA 03 03;Elemento;A;003;10.00;8.50;L;0

NOTA ** Riga 01 ~ 02 ~ 03 l'ho scritto io come commento nel file non deve essere scritto
il file deve essere scritto come è l'originale, ovvero:
01;Elemento;A;001;10.00;8.50;L;0 ecc.ecc.

Adesso io passo ad una pagina php questi dati in questo formato, chiaramente uno alla volta:

vedi.php?Hai%20scelto%20il<li%20id="seat_01">%20-%20Elemento%20-%20A%20-%20001</li>
vedi.php?Hai%20scelto%20il<li%20id="seat_02">%20-%20Elemento%20-%20A%20-%20002</li>

vedi.php?Hai%20scelto%20il<li%20id="seat_39">%20-%20Elemento%20-%20B%20-%20004</li>
vedi.php?Hai%20scelto%20il<li%20id="seat_40">%20-%20Elemento%20-%20B%20-%20005</li>

id="seat_01" ecc. corrisponde sempre alla riga del file CSV ed esattamente al primo vlore di sinistra,
ora io nel file CSV devo fare 3 passaggi:

1) l'utente selezionando un elemento, automaticamente viene indirizzato alla pagina vedi.php.
Ciò che deve fare questa pagina è riscrivere esattamente come l'originale il file CSV cambiando
solamente l'ultimo valore di destra della riga, ovvero lo zero in 1.
La riga sulla quale operare deve essere solo quella che viene identificata con il valore passato,
ovvero id="seat_01" in questo caso riga 01, tutte le altre righe vengono riscritte esattamente come erano
all'apertura del file CSV.

2) l'utente deve decidere se prelevare l'elemento selezionato entro 3 minuti se sta all'interno di
questo tempo si va alla fase 3, se scade il tempo bisogna riscrivere il file CSV rimettendo il valore
cambiato in precedenza ovvero cambiare 1 nuovamente in zero, sempre nella riga identificata attraverso
il numero id, il processo termina e l'utente viene reindirizzato alla pagina di provenienza.

3) l'utente decide di prelevare l'elemento e lo conferma, riapro il file CSV e faccio sempre puntando
alla linea identificata come prima detto dal numero id, due cose:
(A) modifico la lettera L in lettera O (B) rimetto zero dove prima avevo messo 1, a questo punto
riscrivo il file sempre come l'originale, perchè se cambia qualcosa o ci sono righe vuote non
funziona più nulla.

Problema complicato ?
Per me si, se ci fosse un database di mezzo sarebbe più semplice, purtroppo la parte che utilizzo si
appoggia ad un file CSV e sarebbe un gran casino riportare tutto su di un database.

La pagina PHP viene chiamata da una riga facente parte di una funzione javascript questa:
location.href = 'vedi.php?' +document.getElementById("elementi").innerHTML;

Grazie.
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
modifica quando leggi il file in
PHP:
<?php
$contiene=array_map("trim", file('prova.csv'));
echo "<pre>";
//....
?>
in questo modo elimini gli spazi superflui che evidentemente si trascina dietro.
poi se non ho capito male deve modificare solo lo zero in uno?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao dimenticavo
evidente che usando un db sarebbe tutto molto più semplice, comunque non so come è fatto/derivi esattamente il tuo file csv (per caso da excel?)
potresti fare una tabella del db con un numero di campi quali il file e con myadmin importare il file nella tabella
credo che se il file derivi da excel contenga gia le indicazioni dei campi (eventualmente sempre con myadmin puoi modificarli dopo l'importazione)
in questo modo modifiche/aggiunte/eliminazioni diventano tutte più semplici
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Ciao, si con questa modifica il file lo scrive correttamente.
Deve modificare più cose, al primo passaggio lo zero in 1 ed al secondo passaggio sostituire la L con la lettera O e rimettere lo zero al posto di uno.
Praticamente se un utente sta prelevando un oggetto questo oggetto deve risultare solamente impegnato sino a quando l'utente non ha deciso di prelevarlo e questa operazione la fa appunto il valore Zero e 1. Necessita riscrivere il CSV perchè se un altro utente vuole prelevare lo stesso oggetto lo trova in quel momento impegnato.
Quando l'ggetto invece risulta prelevato la lettera L diventa lettera O e questo dice al sistema che quell'oggetto non è più disponibile. In questa seconda fase conviene visto che l'oggetto non è più disponibile e che bisogna riscrivere il CSV con la variante rimettere anche in ordine ciò che prima era diventato 1 in fase di impegno di nuovo con zero. Comunque questo secondo passaggio eventualmente si può anche non farlo in quanto l'oggetto prelevato non è più cliccabile.
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
No il file CSV non è un file excel è un file di testo creato a mano dove le righe contengono esattamente ciò che ti ho
postato, non esistono intestazioni, solo le righe che vedi.
Praticamente è una mappa di scaffali.

Se può essere di aiuto viene letto così

<?php

//usleep(500000);

// carico le informazioni sulle posizioni
$map = array();

if (($handle = fopen('elementi.csv', 'r')) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ';')) !== FALSE)
{
$map[] = array( 'id' => $data[0],
'settore' => $data[1],
'fila' => $data[2],
'numero' => $data[3],
'intero' => $data[4],
'ridotto' => $data[5],
'status' => $data[6],
'selected' => $data[7]
);
}
fclose($handle);
}

// simula il controllo della disponibilità
$id = intval($_REQUEST['id']);
$ret = $map[$id];
$ret['result'] = 1;

/*
$rand = mt_rand(1,100);

if($rand<=1)
$ret['result'] = 0;
else
$ret['result'] = 1;

*/

echo json_encode($ret);

?>

Ho fatto un po di pulizia nel codice per chiamare la pagina vedi.php indicando solo la linea del file csv che è da modificare, adesso la riga ripulita di tutto ciò che non serve è questa:
vedi.php?id=seat_40
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
verifica una cosa dopo il primo passaggio, se parti da
01;Elemento 1;10.00;7.50;L;0
02;Elemento 2;12.00;8.50;L;0
03;Elemento 3;13.00;9.50;L;0
perchè fputcsv te lo salva come
01;Elemento 1;10.00;7.50;L;0,02;Elemento 2;12.00;8.50;L;0,03;Elemento 3;13.00;9.50;L;0
cioè non più i "record" separati da\r (o simile) ma separati da ,
quindi poi fa casino, devo fare delle prove, probabilmente in fputcsv deve avere anche un altro parametro
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Ciao Borgo Italia,
ho fatto un po di ricerche su come gestire i file in php ed ho visto che per questo
tipo di applicazione è meglio utilizzare un database, allora dimentichiamo tutto ciò
che abbiamo fatto fino ad ora, è stata solo una esperienza per gestione di questo tipo di file.

Ricominciamo da quì:
Io creo un database che avrà una tabella che si chiama posizioni la tabella inizialmente
sarà composta da da 2 campi, poi ne aggiungerò altri per altre esigenze.

Campo 1 id autoincrement e si chiamerà id
Campo 2 varchar che contiene la stringa ~ 01;Elemento;A;01;10.00;8.50;L;0 e si chiamerà elementi

Questo database avrà n. record quindi:
01;Elemento;A;01;10.00;8.50;L;0 che corrisponderà a id 1
02;Elemento;A;01;10.00;8.50;L;0 che corrisponderà a id 2
03;Elemento;A;01;10.00;8.50;L;0 che corrisponderà a id 3 ecc.ecc.

I dati che bisognerà modificare all'occorenza nel campo elementi saranno solo e sempre 2
e precisamente l'ultimo ed il penultimo.

In un caso bisognerà modificare lo Zero in 1 e nell'altro caso la lettera L in lettera O.

Attualmente il codice che segue viene richiamato in più punti, carica la mappa delle posizioni,
fa effettuare la selezione ecc. e funziona tutto correttamente.

PHP:
// carico le informazioni sulle posizioni
$map = array();

if (($handle = fopen('xxxxx.csv', 'r')) !== FALSE)
{
    while (($data = fgetcsv($handle, 1000, ';')) !== FALSE)
    {
        $map[] = array(    'id'        => $data[0],
                        'settore'    => $data[1],
                        'fila'        => $data[2],
                        'numero'    => $data[3],
                        'intero'    => $data[4],
                        'ridotto'    => $data[5],
                        'status'    => $data[6],
                        'selected'    => $data[7]
                );
    }
    fclose($handle);
}


echo json_encode($map);

Premesso ciò bisogna sostituire il codice riportato sopra che adesso gestisce il file CSV
con un codice che prende invece i dati dal database e ricostruisce esattamente cio che viene
fatto adesso mediante il file CSV

PHP:
        $map[] = array(    'id'        => $data[0],
                        'settore'    => $data[1],
                        'fila'        => $data[2],
                        'numero'    => $data[3],
                        'intero'    => $data[4],
                        'ridotto'    => $data[5],
                        'status'    => $data[6],
                        'selected'    => $data[7]
                );

L'array chiaramente dovrà contenere tutti i record esistenti nel database così come accade
adesso con le linee prelevate dal CSV

Ottenuto ciò tutto diventa molto più semplice.

Il codice che chiama la pagina vedi.php l'ho ripulito ed adesso fa una cosa semplicissima
chiama la pagina trasferendogli semplicemente l'id corrispondente alla linea del CSV attuale
il quale diventando un database sarà quello dell'id del record.

chiamo la pagina con:
vedi.php?id=seat_26

e ricavo 26 che è la linea del CSV attuale che diventerà il record a cui puntare con id 26 nel
database con:

PHP:
$linecsv = $_GET['id'];
$linecsv = substr("$linecsv",5);
echo "Elemento selezionato N. $linecsv";

Quì devo adesso selezionare il record corrispondente all'id specifico e modificare come detto prima
i valori ovvero:

In un caso bisognerà modificare lo Zero in 1 e nell'altro caso la lettera L in lettera O.
che come detto prima sono sempre l'ultimo ed il penultimo dato della stringa.

Io ho poca esperienza in mysql, puoi darmi una mano.

Grazie.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
dato quello che pensi di fare è la soluzione migliore,
comunque per prima cosa allora si deve pensare a come deve essere fatta la tabella, da quello che intuisco la tabella dovrà contenere vari record con i dati che provengono dal csv, giusto?

quindi dovresti dirmi quanti campi ti servono e cosa conterranno
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Ciao,

Il database l'ho già creato io, si chiama posizioni e contiene una tabella con 2 campi.

Campo 1 int (11) autoincrement il nome del campo è id
Campo 2 varchar(29) che contiene la stringa ~ 01;Elemento;A;01;10.00;8.50;L;0 ~ il nome del campo è elementi

Questo database avrà n. record che inserisco io manualmente, non devo importarli dal CSV attuale, i record
inseriti sostituiranno la mappa che crea l'attuale CSV.

Quindi ho record 1 che contiene
01;Elemento;A;01;10.00;8.50;L;0 che corrisponde a id 1
record 2 che contiene
02;Elemento;A;01;10.00;8.50;L;0 che corrisponde a id 2
record 3 che contiene
03;Elemento;A;01;10.00;8.50;L;0 che corrisponde a id 3 ecc.ecc.

Ciò che serve è sostituire la parte di codice che attualmente apre il CSV lo legge e crea l'array, con un codice che apre il database legge tutti e record e ricostruisce un array come avviene adesso utilizzando il file CSV.
Come detto prima i record nel database li inserisco io.

Praticamente bisogna che il codice che gestisce il database ricrei quello che attualmente fa questo:

PHP:
// carico le informazioni sulle posizioni
$map = array();

if (($handle = fopen('xxxxxx.csv', 'r')) !== FALSE)
{
    while (($data = fgetcsv($handle, 1000, ';')) !== FALSE)
    {
        $map[] = array(    'id'        => $data[0],
                        'settore'    => $data[1],
                        'fila'        => $data[2],
                        'numero'    => $data[3],
                        'intero'    => $data[4],
                        'ridotto'    => $data[5],
                        'status'    => $data[6],
                        'selected'    => $data[7]
                );
    }
    fclose($handle);
}
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
guarda che ti ritrovi al punto di prima, se devi modificare la L e/o lo 0 risulta un caos, se poi devi modificare altri cose il problema si complica ulteriormente se poi ti serve la stringa completa ricrearla non è un problema
fai una cosa (dammi retta) indicami cosa rappresentano tutti gli elementi della stringa es
01;Elemento;A;01;10.00;8.50;L;0
01 cosa è? il settore?
Elemento una descrizione/titolo? in tutti i record hai solo la parola "elemento"? se fosse così a che ti serve scriverla tutte le volte
01 ripeti il settore? è sempre uguale allo 01 iniziale?se così a che ti serve scriverlo due volte
A cosa rappresenta, la fila? anche qui se hai A dovunque uguale a che ti serve scriverla?
10.00 e 8.50 sono orari?ora inizio ora fine? quantità?numeri float o stringhe?
L ho capito (penso) che indichi libero, da cambiare in O occupato
0 analogamente come sopra 0 disponibile 1 non disponibile

pensaci bene, un po' di tempo perso a studiare il db poi te ne fa guadagnare un sacco dopo, anzi da quanto ho capito di quanto vuoi fare avrai bisogno di php, mysql, javasript e/o jquery
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Ciao, ho risolto il problema della sostituzione del file CSV con il database e tutto
funziona correttamente, ciò che ho fatto è questo:

Ho creato un database che ho chiamato prenota ed al suo interno ho creato una
tabella che si chiama tavoli di cui vedi la struttura nella immagine allegata.

poi ho creato una funzione che estrae i dati dal database e crea
lo stesso array che veniva creato mediante lettura dal file CSV, la funzione è questa:

PHP:
function sqlEstrai($query) {
$numCampi = mysql_num_fields($query);
$a = 0;
while($row = mysql_fetch_array($query)) {
$b = 0;
while($b < $numCampi) {
$campoNome = mysql_field_name($query, $b);
$array[$a][$campoNome] = $row["$campoNome"];
$b++;
}
$a++;
$b = 0;
}
return $array;
}

$query = mysql_query("SELECT * FROM tavoli");
$array = sqlEstrai($query);

echo "<pre>"; // solo per visualizzare e controllare l'array creato
print_r($array);
echo "</pre>";

Con questa funzione per ogni record del database ottengo l'array che ottenevo con il file CSV
ho inserito 2 record di prova ed ottengo questo:

[0] => Array
(
[id] => 1
[settore] => Tavolo
[fila] => A
[numero] => 001
[intero] => 00.00
[ridotto] => 00.00
[status] => L
[selected] => 0
)

[1] => Array
(
[id] => 2
[settore] => Tavolo
[fila] => A
[numero] => 002
[intero] => 00.00
[ridotto] => 00.00
[status] => L
[selected] => 0
)


Come detto prima, sostituendo nei file che aprivano il CSV lo leggevano e generavano gli array
con il nuovo database, tutto continua a funzionare perfettamente.

la variabile che passo al file che deve compiere le operazioni di modifica del record si chiama
"$linecsv" ed indica il record a cui puntare quindi nel caso fosse 2 punterebbe all'id 2.

Cio che devo fare una volta selezionato il record con l'id 2, ma potrebbe essere ~ 10 ~ 50 ~ 80 dipende
dal ciò che contiene la variabile "$linecsv", è cambiargli in un caso il valore del campo "status",
quindi sostituire il carattere L con il carattere O

ed in un altro caso cambiargli il valore "selected" che normalmente è Zero con il valore 1.
Come vedi dalla immagine che riporta i parametri della tabella, per comodità il campo "selected" è un
campo ENUM al quale per default viene sempre assegnato il valore Zero che vuol dire non selezionato.

Poi utilizzo queste istruzioni per modificare i record:

PHP:
    $sql = mysql_query("SELECT * FROM tavoli WHERE id='$linecsv' ");
    $db = mysql_query("UPDATE tavoli SET status='$stato' WHERE id='$linecsv' ");

Sembrerebbe funzionare tutto, proseguo con i test perchè qua e la bisogna inserire delle protezioni in modo da non fare incasinare il tutto. :)

CAPT_004.jpg
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
allora tutto a posto.
gli ultimi consigli:
1) setta visto che sono solo due valori il campo status
status set('L','O') default L
2) non usare le vecchie funzioni php mysql sono deprecate e tra un po' non funzioneranno più, passa alle nuove mysqli
3) vai le opportune aggiunte: controlli sulla validità dei dati
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Grazie si ottima idea lo faccio.
Ancora un consiglio, come ti ho detto io chiamo la pagina che esegue le funzioni sul db con
sel.php?id=seat_1 oppure seat_2 oppure seat_3 ecc dipende da cosa si è selezionato,
poi nella pagina utilizzo
$linecsv = $_GET['id'];
$linecsv = substr("$linecsv",5);

e ricavo solo il numero id che poi punta al record del database.

Come faccio ad intercettare porcherie, ovvero se arriva una chiamata alla pagina che contiene cose diverse da
id=seat_1 - seat_2 - seat_3 ecc ad intercettare l'errore e quindi fare altro, esempio dare un messaggio di errore e poi con una istruzione header( "refresh:5;url=index.php" ); tornare indietro.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto non puoi chiamarla direttamente con l'id senza aggiungere il seat_?
dovresti farmi sapere come chiami la pagina
comunque ecco quello che potrebbe essere un controllo
PHP:
<?php
//metto dei nomi a caso (se fosse solo l'id sarebbe più semplice)
//guarda che puoi semplificare
$seat_=substr ($_GET['id'] , 0, 4);//ricavo set_
$numero=strtr($_GET['id'], $set_, "");//rimane solo il numero che da quanto ho capito deve essere > di zero
if($set_ != "seat_" || (int)($numero+0) < 1){
    //la prima parte  non è set_ ma qualcos'altro
    //la seconda non è un numero
    $errore="non è un valore valido";//ricorda header non deve avere davanti alcun output html e l'echo è un output
    header( "refresh:5;url=index.php?errore=$errore" );
}else{
    $linecsv =$_GET['id'];//oppure $linecsv =$set_.$numero;
    // e fai quello che devi fare
    /*se devi fare la connessione al db mettila in questa parte
    inutile chiamare il db se il GET non è corretto*/
}
//.....
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Aiuto per pagina php PHP 0
L Aiuto per programma web php/mySQL PHP 2
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
W [PHP] Un aiuto per il mio primo "Multithread" PHP 0
L [PHP] aiuto per installazione mrbs PHP 0
G Piccolo aiuto per php mail PHP 2
G Aiuto! Studente cerca aiuto per un codice PHP PHP 1
S aiuto per script PHP/OOP PHP 2
S [RISOLTO]aiuto, non riesco afar funzionare il camp odi ricerca per un DB con PHP PHP 5
Task Mc Aiuto per reindirizzamento in php PHP 7
R Tabella database [era: Aiuto per php] PHP 34
S cerco aiuto per php PHP 4
A Form per alimentare un DB con PHP: aiuto!! PHP 17
R Aiuto per formmail.php PHP 10
Y Aiuto per modifica php PHP 0
V AIUTO per configurazione file PHP PHP 31
U aiuto per script php inviare una mail PHP 1
L aiuto per creare un gdr in php Altri Annunci 6
S aiuto per flash e php PHP 1
G Aiuto per iniziare con PHP PHP 2
C Opzioni php-nuke: era [aiuto per favoreee] PHP 2
L Aiuto per PHP PHP 11
I Aiuto php Dependent Lookup PHP 0
A Aiuto php colore diverso PHP 10
C Aiuto compiuto scuola PHP/MySQL PHP 2
Michelebozzo [PHP] Rimuovere pubblicazione nome pagina ... aiuto! PHP 7
Z Gestionale in Php/mysql: Quanto farsi pagare? Aiuto! Discussioni Varie 0
P [PHP] Browser game, aiuto a tempo libero. Offerte e Richieste di Lavoro e/o Collaborazione 0
C [PHP] Chiedo un aiuto, Array multidimensionale. PHP 3
T [PHP] aiuto....Fatal error: Uncaught Error:non riesco a capire PHP 1
N [PHP] Aiuto PHP 1
M [PHP] Aiuto su inner join PHP 10
J [PHP] richiesta di aiuto PHP 3
F [PHP] Aiuto SELECT DISTINCT / GROUP BY PHP 17
F [PHP] Aiuto array PHP 2
S [PHP] Aiuto! Non riesco a richiamare una variabile PHP 2
N [PHP] aiuto su variabili e colori PHP 4
C [PHP] Aiuto su visualizza foto da cartella PHP 6
P [PHP] aiuto creazione login PHP 16
S PHP: Aiuto con upload immagini che si auto tuotano PHP 24
A aiuto php PHP 3
A php aiuto PHP 2
C Aiuto su script php PHP 2
F Aiuto PHP : Parse error PHP 1
S Un aiuto su uno script di ricerca avanzata in php che sto verificando. PHP 1
R Aiuto creazione php PHP 0
G Aiuto modifica PHP PHP 1
T Aiuto con script PHP PHP 0
S Aiuto con PHP! PHP 4
D Aiuto Ajax da PHP con codifica json Ajax 0

Discussioni simili