Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo ThinkPad P53: la più veloce workstation da 15 pollici
Lenovo ThinkPad P53: la più veloce workstation da 15 pollici
Lenovo aggiorna la propria gamma di workstation mobile destinate ai professionisti presentando, con ThinkPad P53, un sistema tanto potente quanto flessibile. Processore Xeon con architettura a 6 core, scheda video Quadro RTX 5000 e storage integrato configurabile sino a Raid 5 si abbinano alla proverbiale qualità dei prodotti della famiglia ThinkPad.
Recensione F1 2019: grafica migliorata, e non solo
Recensione F1 2019: grafica migliorata, e non solo
F1 2019 è finalmente disponibile, con il suo nuovo sistema di illuminazione che ha già fatto parlare molto di sé in fase di pre-rilascio. Driver transfers, riproduzione fedele del regolamento e delle auto della Formula 1, accuratezza fisica e supporto eSport sono altri argomenti di discussione molto interessanti. Vediamo com'è F1 2019
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.
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: 1065
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: 1065
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: 1065
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: 1065
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: 1065
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: 1065
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


Lenovo ThinkPad P53: la più veloce workstation da 15 pollici Lenovo ThinkPad P53: la più veloce workst...
Recensione F1 2019: grafica migliorata, e non solo Recensione F1 2019: grafica migliorata, e non so...
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...
Utenti iPhone: fedeltà al brand ai minim...
Tesla riduce i prezzi e toglie dal merca...
OneDrive, in arrivo il Fluent Design su ...
Vulnerabilità sul protocollo Blue...
Fujifilm lancia due nuovi obiettivi per ...
Epson SureColor SC-F6300, una stampante ...
Secondo uno studio di Kyocera l'Italia &...
Vodafone, TIM, Iliad, Wind, ho.mobile, a...
Il principali ostacolo allo sviluppo dei...
Redmi K20 Pro Signature Edition: eccolo ...
Smartphone con fotocamere da 108MP e zoo...
SpaceX Starhopper ha preso fuoco durante...
DJI Ronin-SC: il nuovo gimbal per fotoca...
Negli USA puoi comprare un drone con lan...
Xiaomi Mi A3 è ufficiale. Tripla ...
CCleaner Portable
ACDSee Ultimate
CCleaner Standard
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
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: 18:59.


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