- Home
- Categorie
- Coding e Sistemistica
- PHP
- Generazion e codice HTML con php
-
Generazion e codice HTML con php
Ciao a tutti.
Ho una domanda. Quando in una pagina php con echo "";genero del codice HTML con all'interno dei doppi apici " uso il carattere \ prima in modo da poterlo generare. Questo però mi genera un codice html a capo. Se volessi generare il codice HTML senza mandarlo a capo ogni volta che devo fare una " come faccio? Esiste un altro modo?Inoltre ho un'altra domanda ancora più urgente. Ho bisogno di utilizzare $_post[] o $_get[] per prendere delle variabili da un form. Piccolo problema che vengono mandate molte variabili e i nomi di questi sono contenuti in un file .txt. vorrei man mano che leggo le righe del file .txt prendere il nome di quella riga (corrispondente al nome di una variabile mandata tramite form) e immagazzinarla.
Lo script è questo:<?php
$i=0;
$vector = array();
if (!$fp= fopen("list-food-drink.txt","r")) {
echo "Spiacente, ci sono problemi con il caricamento del file.";
} else {
while($linea!="-------")
{
$linea = fgets($fp, 255);
while($linea!="\r\n"&&$linea!="-------")
{
$linea=fgets ($fp, 255);
if ($linea!="\r\n"&&$linea!="-------") {
$quant=$_get["$linea"];
if ($quant > 0) {$vector*=array("name"=>"$linea","q"=>"$quant");$i++;}
}
}
}
fclose ($fp);
}
/print_r($vector);/
?>Facendo diverse prove ho visto che il problema sta in $quant=$_get["$linea"]; nn capisco se è una cosa sbagliata o meno, php nn mi da errori di sintassi o altro però nn mi prende la variabile e nn mettendola in $quant. Ma nn si può mettere in post una variabile con dentro il nome della variabile a cui si riferisce??
Lo script completo l'avevo già postato nella mia ultima discussione.Spero di essere stato chiaro.
Grazie
-
la variabile è $_GET non $_get
-
Hai ragione. L'ho modificata ma non va lo stesso.
-
mh.. prova un pò a togliere le virgolette... una volta mi ci ero impazzito pure io con una cosa del genere
-
scusami... prova così $_GET[$linea]
-
Guarda ho provato tutte le varianti con apici singole, doppie, senza ma niente. Sia con get ke con post ma niente.
Il problema dovrebbe essere proprio li perchè ho provato diverse cose per cercare il punto preciso e se provo a stampare $quant nn me lo stampa. Nn capisco cosa gli passa. E' tutta la mattina che sclero.
-
prova a postare un pezzo di quel txt
-
E il file txt è strutturato nel seguente modo:
Categoria prodotti
Prodotto 1
prod 2Categoria 2
prod1
prod2
-
scusa ma il secondo while a che serve?
cmq..
prova a debuggare mettendo dei print sotto fgets, così vedi che cosa ti tira fuori da quel file
-
Già fatto con echo e mi rilascia l'elenco dei prodotti.
Il doppio ciclo while serve perchè la prima riga dopo una riga vuota non è un prodotto ma solo la categoria. se vedi l'altra mia discussione precedente forse capisci qualcosa di più.
http://www.giorgiotave.it/forum/php-mysql/37413-script-leggi-file-genera-form-genera-ordine-da-form.html
-
e se fai un print_r($_GET) ti escono le stesse cose del file di testo?
-
Array ( [fsadfsd] => 50 [dadas] => 0 [dasds] => 0 [ciao] => 20 [dasda] => 0 [submit] => Invia ) Array ( [fsadfsd] => 50 [dadas] => 0 [dasds] => 0 [ciao] => 20 [dasda] => 0 [submit] => Invia ) Array ( [fsadfsd] => 50 [dadas] => 0 [dasds] => 0 [ciao] => 20 [dasda] => 0 [submit] => Invia ) Array ( [fsadfsd] => 50 [dadas] => 0 [dasds] => 0 [ciao] => 20 [dasda] => 0 [submit] => Invia ) Array ( [fsadfsd] => 50 [dadas] => 0 [dasds] => 0 [ciao] => 20 [dasda] => 0 [submit] => Invia ) Array ( [fsadfsd] => 50 [dadas] => 0 [dasds] => 0 [ciao] => 20 [dasda] => 0 [submit] => Invia )
mi esce questo è ripetuto sei volte per i cicli.
quelle cose incomprensibili sono i nomi dei prodotti diciamo.
-
quindi nel file di testo ci sono:
...
fsadfsd
dadas
dasds
ciao
...????
e facendo echo $linea ti escono esattamente quelli???se si allora non so proprio che razza di problema è!!
-
bravissimo.
Il file di testo preciso è questo
milk
fsadfsd
dadas
dasdsfdsfs
ciao
dasda
dasdadove milk e fdsfs sono solo le categorie.
AIUTOOO!!!
Secondo me è un problema di sintassi visto che $_GET è un vettore da quanto ho capito.
-
secondo me sono gli \n\r...
ho fatto una provaaggiungi questo:
$linea = str_replace(array("\r\n", "\r", "\n"), "", $linea);prima di $quant=$_GET["$linea"];
vedi un pò..
-
Grande!!
Fai te qual'era il problema. Grazie mille!!
Ora cerco di proseguire con lo script.