Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Xiaomi Mi 9T: quando si fa sul serio ma a soli 329 euro. La recensione
Xiaomi Mi 9T: quando si fa sul serio ma a soli 329 euro. La recensione
Xiaomi continua a sfornare smartphone. Ultimo in ordine cronologico è lo Xiaomi Mi 9T che prende quanto di buono fatto con la serie Mi 9, ne propone il design, i materiali, ma sperimenta una fotocamera a pop-up ed una nuova tripla fotocamera di qualità. Il tutto a soli 329€. Ecco la nostra recensione.
Microsoft Surface Studio 2: contenuti e design per una nicchia ben precisa
Microsoft Surface Studio 2: contenuti e design per una nicchia ben precisa
Bello, costoso, originale nelle soluzioni e con un ottimo display: Microsoft Surface Studio 2 è un prodotto difficile da capire ma che si fa apprezzare con il tempo. Ecco il nostro percorso, alla scoperta di pregi, difetti, potenzialità e limiti per un prodotto attualmente con pochissimi concorrenti diretti
Samsung Galaxy Tab S5e, recensione: è questo il miglior tablet Android?
Samsung Galaxy Tab S5e, recensione: è questo il miglior tablet Android?
Samsung Galaxy Tab S5e si configura come una soluzione dal buon rapporto qualità-prezzo all'interno di una fascia di mercato in cui le proposte sono pochissime. E il rapporto qualità-prezzo è effettivamente molto allettante, soprattutto se si considerano lo street-price e la presenza di un display SuperAMOLED di ottima qualità. Nella pagina trovate tutte le nostre considerazioni sul nuovo dispositivi dei coreani.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-05-2019, 12:54   #1
eresseie90
Member
 
Iscritto dal: Feb 2017
Messaggi: 34
[PHP] Notice: Undefined index

Ciao a tutti, sto seguendo un corso online ma non riesco ad uscirne.. mi esce questo errore:
Notice: Undefined index: city in C:\xampp\htdocs\Weather\index.php on line 3

Codice:
<?php

if ($_GET['city']) {
	
	$forecastPage = file_get_contents("https://www.weather-forecast.com/locations/Milan/forecasts/latest");
	echo $forecastPage;
	
}

?>

<html lang="it">

<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

    <title>Weather Screper</title>
  	<style type="text/css">
				
		html {  
  background: url(background.jpg) no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
		}

body {
	background:none;	
}
.conteiner{
	
	
	text-align: center;
	margin-top:280px;
	color:white;
	text-shadow: 2px 2px 4px black;

	}
	
.form-control{
	width:500px;
	text-align: center;
	display: inline-block;
}

</style>

</head>
  <body>
    <div class="conteiner">
<h1>Che tempo fa?</h1>
<form>
<fieldset class="form-group-">
<label for="city">Inserisci il nome della città</label><br>
<input type="text" class="form-control" name="city" id="city" placeholder="inserisci la città">
</fieldset><br>
<button type="submit" class="btn btn-primary">Invia</button>
</form>

    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
  </body>
</html>
La cosa divertente è che mi sembra uguale a quello che ha fatto il corso.. c'è qualche cosa che mi sfugge?
eresseie90 è offline   Rispondi citando il messaggio o parte di esso
Old 18-05-2019, 19:15   #2
Volutomitra
Member
 
Iscritto dal: Feb 2006
Messaggi: 121
Se la variabile di indice 'city' non è definita in GET è ovvio che ti venga segnalato l'errore. Non so che corso sia, ma se il tuo codice è uguale c'è qualcosa che non va.

Comunque, per verificare se una variabile esiste vedi questo:

https://www.php.net/manual/en/reserv...iables.get.php

e cerca un qualsiasi esempio di utilizzo della funzione 'isset' sull'array GET in PHP.
Volutomitra è offline   Rispondi citando il messaggio o parte di esso
Old 18-05-2019, 23:35   #3
eresseie90
Member
 
Iscritto dal: Feb 2017
Messaggi: 34
Quote:
Originariamente inviato da Volutomitra Guarda i messaggi
Se la variabile di indice 'city' non è definita in GET è ovvio che ti venga segnalato l'errore. Non so che corso sia, ma se il tuo codice è uguale c'è qualcosa che non va.

Comunque, per verificare se una variabile esiste vedi questo:

https://www.php.net/manual/en/reserv...iables.get.php

e cerca un qualsiasi esempio di utilizzo della funzione 'isset' sull'array GET in PHP.
Scusa ma quel city non lo va a prendere dal "name" del form? almeno così ho capito da quanto ha spiegato (ps: e dal video sembra che a lui funzioni il comando... magari mi è sfuggito qualcosa nel file php.ini
eresseie90 è offline   Rispondi citando il messaggio o parte di esso
Old 19-05-2019, 10:01   #4
Volutomitra
Member
 
Iscritto dal: Feb 2006
Messaggi: 121
Quote:
Originariamente inviato da eresseie90 Guarda i messaggi
Scusa ma quel city non lo va a prendere dal "name" del form? almeno così ho capito da quanto ha spiegato (ps: e dal video sembra che a lui funzioni il comando... magari mi è sfuggito qualcosa nel file php.ini
Certo. Ma lo prende dopo che hai inviato il form cliccando sul pulsante 'Invia':

Codice:
<form>
...
<button type="submit" class="btn btn-primary">Invia</button>
</form>
ma la prima volta che entri nella pagina come è definito GET['city']?
Volutomitra è offline   Rispondi citando il messaggio o parte di esso
Old 19-05-2019, 14:13   #5
eresseie90
Member
 
Iscritto dal: Feb 2017
Messaggi: 34
Quote:
Originariamente inviato da Volutomitra Guarda i messaggi
ma la prima volta che entri nella pagina come è definito GET['city']?
"Unable to find" appena entrato nella pagina
eresseie90 è offline   Rispondi citando il messaggio o parte di esso
Old 19-05-2019, 19:00   #6
Volutomitra
Member
 
Iscritto dal: Feb 2006
Messaggi: 121
Quote:
Originariamente inviato da eresseie90 Guarda i messaggi
"Unable to find" appena entrato nella pagina
Appunto. Non lo trova perché non è definito. E per verificare se è definito si usa la 'isset'. Mi sembra semplice, no?
Volutomitra è offline   Rispondi citando il messaggio o parte di esso
Old 19-05-2019, 20:42   #7
eresseie90
Member
 
Iscritto dal: Feb 2017
Messaggi: 34
Quote:
Originariamente inviato da Volutomitra Guarda i messaggi
Appunto. Non lo trova perché non è definito. E per verificare se è definito si usa la 'isset'. Mi sembra semplice, no?
Semplice grazie e ancora una cosa (non mandarmi a quel paese)
Ora mi indica
Quote:
Warning: file_get_contents(http://www.weather-forecast.com/loca...recasts/latest) : failed to open stream: Unable to find the socket transport &quot;ssl&quot; - did you forget to enable it when you configured PHP? in C:\xampp\htdocs\Weather\index.php on line 5
Cercando in rete indicano di rimuovere il punto e virgola da questa espressione

extension=php_openssl.dll

L'avevo già fatto ma il problema rimane

Modifica: e se aggiungessi la "s" in http mi darebbe un errore aggiuntivo:
Quote:
failed to open stream: No such file or directory in C:\xampp\htdocs\Weather\index.php on line 5
(ho provato anche con il sito del meteo.it ma nulla)

Ultima modifica di eresseie90 : 19-05-2019 alle 20:51. Motivo: Aggiunta
eresseie90 è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2019, 07:47   #8
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 1063
Quote:
Originariamente inviato da eresseie90 Guarda i messaggi
Semplice grazie e ancora una cosa (non mandarmi a quel paese)
Ora mi indica


Cercando in rete indicano di rimuovere il punto e virgola da questa espressione

extension=php_openssl.dll

L'avevo già fatto ma il problema rimane

Modifica: e se aggiungessi la "s" in http mi darebbe un errore aggiuntivo:


(ho provato anche con il sito del meteo.it ma nulla)
Siccome anche se togli la 's' il sito ti ridirige verso l'https la cosa NON può funzionare.

Dopo aver attivato il modulo php_openss.dll hai riavviato il server apache?
hai fatto un phpinfo() per verificare che effettivamente il modulo si sia caricato?
I log di apache dicono qualcosa in merito?
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2019, 11:17   #9
eresseie90
Member
 
Iscritto dal: Feb 2017
Messaggi: 34
Quote:
Originariamente inviato da Kaya Guarda i messaggi
Siccome anche se togli la 's' il sito ti ridirige verso l'https la cosa NON può funzionare.

Dopo aver attivato il modulo php_openssl.dll hai riavviato il server apache?
hai fatto un phpinfo() per verificare che effettivamente il modulo si sia caricato?
I log di apache dicono qualcosa in merito?
per php_openssl.dll avevo già riavviato il server di apache e risulta attivo
nei file log non risulta niente di strano a parte l'errore che ho descritto nel messaggio precedente

Quote:
PHP Warning: file_get_contents(): Unable to find the wrapper &quot;https&quot; - did you forget to enable it when you configured PHP? in C:\\xampp\\htdocs\\Weather\\index.php on line 5

PHP Warning: file_get_contents(https://www.ilmeteo.it/meteo/Milano): failed to open stream: No such file or directory in C:\\xampp\\htdocs\\Weather\\index.php on line 5
EDIT:
ps: la pagina è composta solo dal codice che ho messo all'inizio del topic

Ultima modifica di eresseie90 : 20-05-2019 alle 11:21.
eresseie90 è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2019, 12:31   #10
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 1063
Quote:
Originariamente inviato da eresseie90 Guarda i messaggi
per php_openssl.dll avevo già riavviato il server di apache e risulta attivo
nei file log non risulta niente di strano a parte l'errore che ho descritto nel messaggio precedente



EDIT:
ps: la pagina è composta solo dal codice che ho messo all'inizio del topic
Risulta attivo con phpinfo()?
Hai dato un occhio a https://stackoverflow.com/questions/...tents/43513546 (in fondo c'è un test per verificare che effettivamente sia attivo)
e prova anche qua: https://stackoverflow.com/questions/...hen-you-config
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2019, 12:50   #11
eresseie90
Member
 
Iscritto dal: Feb 2017
Messaggi: 34
Quote:
Originariamente inviato da Kaya Guarda i messaggi
Risulta attivo con phpinfo()?
Hai dato un occhio a https://stackoverflow.com/questions/...tents/43513546 (in fondo c'è un test per verificare che effettivamente sia attivo)
e prova anche qua: https://stackoverflow.com/questions/...hen-you-config
Ho trovato l'errore grazie al secondo link

Nel php.ini mi mancava questa stringa

Codice:
extension_dir = "ext"
Il file php_openssl.dll è nella cartella xampp\php\ext

Grazie davvero
eresseie90 è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2019, 13:00   #12
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 1063
Quote:
Originariamente inviato da eresseie90 Guarda i messaggi
Ho trovato l'errore grazie al secondo link

Nel php.ini mi mancava questa stringa

Codice:
extension_dir = "ext"
Il file php_openssl.dll è nella cartella xampp\php\ext

Grazie davvero
Onestamente però mi sembra strano che nel log di apache o pho non ci fosse l'errore che diceva di non aver trovato la libreria.

Quote:
per php_openssl.dll avevo già riavviato il server di apache e risulta attivo
Quindi qua hai detto una bugia?
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2019, 13:40   #13
eresseie90
Member
 
Iscritto dal: Feb 2017
Messaggi: 34
Quote:
Originariamente inviato da Kaya Guarda i messaggi
Onestamente però mi sembra strano che nel log di apache o pho non ci fosse l'errore che diceva di non aver trovato la libreria.


Quindi qua hai detto una bugia?
non era una bugia
Codice:
OPENSSL_CONF	C:/xampp/apache/bin/openssl.cnf
SERVER_SIGNATURE	<address>Apache/2.4.39 (Win64) OpenSSL/1.0.2r PHP/7.1.28 Server at localhost Port 80</address>
SERVER_SOFTWARE	Apache/2.4.39 (Win64) OpenSSL/1.0.2r PHP/7.1.28
o non sono capace di leggere il phpinfo()
e gli errori che ho indicato erano solo
Codice:
PHP Warning: file_get_contents(): Unable to find the wrapper &quot;https&quot; - did you forget to enable it when you configured PHP? in C:\\xampp\\htdocs\\Weather\\index.php on line 5

PHP Warning: file_get_contents(https://www.ilmeteo.it/meteo/Milano): failed to open stream: No such file or directory in C:\\xampp\\htdocs\\Weather\\index.php on line 5
Nel log

Dire bugie per risolvere un problema sarebbe controproduttivo

Ad ogni modo grazie per avermi aiutato a risolvere
eresseie90 è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2019, 14:45   #14
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 1063
Quote:
Originariamente inviato da eresseie90 Guarda i messaggi
non era una bugia
Codice:
OPENSSL_CONF	C:/xampp/apache/bin/openssl.cnf
SERVER_SIGNATURE	<address>Apache/2.4.39 (Win64) OpenSSL/1.0.2r PHP/7.1.28 Server at localhost Port 80</address>
SERVER_SOFTWARE	Apache/2.4.39 (Win64) OpenSSL/1.0.2r PHP/7.1.28
o non sono capace di leggere il phpinfo()
e gli errori che ho indicato erano solo
Codice:
PHP Warning: file_get_contents(): Unable to find the wrapper &quot;https&quot; - did you forget to enable it when you configured PHP? in C:\\xampp\\htdocs\\Weather\\index.php on line 5

PHP Warning: file_get_contents(https://www.ilmeteo.it/meteo/Milano): failed to open stream: No such file or directory in C:\\xampp\\htdocs\\Weather\\index.php on line 5
Nel log

Dire bugie per risolvere un problema sarebbe controproduttivo

Ad ogni modo grazie per avermi aiutato a risolvere
Allora io se faccio un phpinfo ottengo:
OpenSSL support enabled
OpenSSL Library Version OpenSSL 1.1.0g 2 Nov 2017
OpenSSL Header Version OpenSSL 1.1.0g 2 Nov 2017
Openssl default config /usr/lib/ssl/openssl.cnf

che mi pare un pelo diverso dal tuo.
Anche perchè lì indica la configurazione (OPENSSL_CONF C:/xampp/apache/bin/openssl.cnf)
ma non dice se è o meno ENABLED

Per scrupolo ho provato ad attivare una libreria che NON HO e ottengo nei log " ...cannot open shared object file: No ..." come mi aspettavo.
Dovrei per scrupolo capire come lavora XAMPP ma non ho una macchina windows su cui testare.

Buono comunque tu abbia risolto: pro futuro suggerisco caldamente la migrazione sotto linux!
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2019, 06:21   #15
Volutomitra
Member
 
Iscritto dal: Feb 2006
Messaggi: 121
Quote:
Originariamente inviato da Kaya Guarda i messaggi
pro futuro suggerisco caldamente la migrazione sotto linux!
Mi aggiungo calorosamente al consiglio!

E faccio una nota a margine: il problema principale (la mancata definizione di GET['city']) in realtà si poteva risolvere anche senza usare la 'isset'. Ma dato che è un metodo barbaro non l'ho detto e non lo dirò E' troppo importante imparare a usare le cose fatte bene piuttosto che metodi veloci ma pericolosi
Volutomitra è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2019, 07:48   #16
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 1063
Quote:
Originariamente inviato da Volutomitra Guarda i messaggi
Mi aggiungo calorosamente al consiglio!

E faccio una nota a margine: il problema principale (la mancata definizione di GET['city']) in realtà si poteva risolvere anche senza usare la 'isset'. Ma dato che è un metodo barbaro non l'ho detto e non lo dirò E' troppo importante imparare a usare le cose fatte bene piuttosto che metodi veloci ma pericolosi
Vado un po OT per comprendere di più: cosa useresti al posto di isset per valutare se la variabile è impostata? empty?
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2019, 16:54   #17
Volutomitra
Member
 
Iscritto dal: Feb 2006
Messaggi: 121
Quote:
Originariamente inviato da Kaya Guarda i messaggi
Vado un po OT per comprendere di più: cosa useresti al posto di isset per valutare se la variabile è impostata? empty?
Vabbè, lo dico. Però poi negherò di averlo fatto

https://www.php.net/manual/en/langua...rorcontrol.php
Volutomitra è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2019, 07:35   #18
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 1063
Quote:
Originariamente inviato da Volutomitra Guarda i messaggi
Vabbè, lo dico. Però poi negherò di averlo fatto

https://www.php.net/manual/en/langua...rorcontrol.php
Ci credo, questo è proprio...brrrrr....

Il modo corretto è proprio quello di usare isset, dal tuo post avevo capito proprio il contrario...
Kaya è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Xiaomi Mi 9T: quando si fa sul serio ma a soli 329 euro. La recensione Xiaomi Mi 9T: quando si fa sul serio ma a soli 3...
Microsoft Surface Studio 2: contenuti e design per una nicchia ben precisa Microsoft Surface Studio 2: contenuti e design p...
Samsung Galaxy Tab S5e, recensione: è questo il miglior tablet Android? Samsung Galaxy Tab S5e, recensione: è que...
Motorola One Vision: display 21:9 e foro possono bastare? La recensione  Motorola One Vision: display 21:9 e foro possono...
(Anteprima) Hasselblad X1D II 50C, medio formato svedese atto secondo (Anteprima) Hasselblad X1D II 50C, medio formato...
Cooler Master presenta GS750, hub USB co...
AMD rilascia i driver Radeon Software Ad...
Huawei Storysign: arrivano nuovi libri p...
Eight Princes, nuovo DLC di Total War: T...
World Emoji Day: oggi è la giorna...
Amazon Prime Day è alle spalle, m...
GRID: i requisiti di sistema della versi...
Collaborazione tra Tesla e Disney? in pr...
ERP in cloud: cosa ne pensano le aziende...
Waze, arriva il costo dei pedaggi fra le...
Twitter, arriva il nuovo design su deskt...
Nuova Tesla Roadster: i propulsori Space...
Fino al 29 settembre Cortona On The Move...
WhatsApp: a rischio malware le foto salv...
CPU Ryzen 3000 e schede madri MSI X570: ...
VirtualBox
Process Lasso
Radeon Software Adrenaline Edition 19.
Google Chrome Portable
NTLite
SuperRam
Chromium
SmartFTP
Paint.NET
Dropbox
K-Lite Mega Codec Pack
K-Lite Codec Pack Full
OCCT
Windows 10 Manager
Opera Portable
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:44.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Served by www1v