Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Honor 20 Pro: un top di gamma in tutto alla metà del prezzo degli altri. La recensione
Honor 20 Pro: un top di gamma in tutto alla metà del prezzo degli altri. La recensione
Honor 20 Pro vanta un display con il caratteristico foro nella parte superiore ma anche una configurazione a quattro fotocamere con un potente sensore ultra grandangolare azionato dall’ormai conosciuto chipset Kirin 980. Il device è un solido concorrente di OnePlus 7 Pro ma ad un prezzo decisamente più basso. Vediamo cosa ci ha colpito di questo device.
Cooler Master Silencio S600 e S400: tanta sobrietà, pochissimo rumore
Cooler Master Silencio S600 e S400: tanta sobrietà, pochissimo rumore
I due nuovi case di Cooler Master si inseriscono in una famiglia molto interessante del produttore, alla ricerca del massimo silenzio in una fascia di prezzo molto interessante. Costano entrambi meno di 100€ e implementano diversi pannelli fonoassorbenti. Il fai-da-te, in questo, caso costerebbe qualcosina di più e non sempre garantirebbe gli stessi risultati. Il tutto all'insegna della massima sobrietà.
LG V50 ThinQ: display incredibile e 5G già pronto (autonomia permettendo). La recensione
LG V50 ThinQ: display incredibile e 5G già pronto (autonomia permettendo). La recensione
LG decide di puntare sulla nuova rete 5G e lo fa con il suo ultimo device della serie V ossia il nuovo LG V50 ThinQ. Uno smartphone dal design lineare ma davvero premium ed elegante, tripla fotocamera al posteriore e soprattutto un display da far girare la testa (in senso positivo). Qualcosa però non va e ve lo diciamo qui nella recensione.
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: 1113
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: 1113
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: 1113
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: 1113
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: 1113
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: 1113
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


Honor 20 Pro: un top di gamma in tutto alla metà del prezzo degli altri. La recensione Honor 20 Pro: un top di gamma in tutto alla met&...
Cooler Master Silencio S600 e S400: tanta sobrietà, pochissimo rumore Cooler Master Silencio S600 e S400: tanta sobrie...
LG V50 ThinQ: display incredibile e 5G già pronto (autonomia permettendo). La recensione LG V50 ThinQ: display incredibile e 5G già...
Tariffe business per il mobile: quando vale veramente la pena di sceglierle Tariffe business per il mobile: quando vale vera...
AMD rivoluziona i datacenter con i processori EPYC di seconda generazione AMD rivoluziona i datacenter con i processori EP...
Magicbooster Pocket 6K: il riduttore di ...
Disintegration è il nuovo shooter...
Kerbal Space Program 2 annunciato alla G...
Cyberpunk 2077 uscirà anche per G...
Xiaomi Mi 9T Pro, con Snapdragon 855, ar...
VMware annuncia l'intenzione di acquisir...
Death Stranding: filmato di gameplay all...
Apple Music è da oggi disponibile...
Huawei Mate X: avrà Kirin 990 e una foto...
Apple TV+ e Apple Arcade, emergono le in...
Thermaltake presenta il suo primo mouse ...
Porsche Taycan punta tutto sull'affidabi...
L'anno fiscale di Lenovo si apre con un ...
Dell stupisce con il nuovo Alienware Aur...
Reti 4G, non esiste digital divide tra n...
CCleaner Portable
CCleaner Standard
Filezilla
Norton Internet Security
Norton Antivirus
VLC Media Player
Skype
CrystalDiskInfo
SmartFTP
Chromium
Internet Download Manager
ICQ
Utilu Mozilla Firefox Collection
Avast! Free Antivirus
Firefox 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: 06:27.


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