• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problemw PHP: Undefined array key "url" in C:\xampp\htdocs\temp\public_html\index.php on line 10

Object Storage Arubacloud
+1 głos
269 wizyt
pytanie zadane 24 kwietnia 2023 w PHP przez tymek_1 Nowicjusz (130 p.)

Witam. Od pewnego czasu zmagam się z błędem podanym wyżej. Niestety zbyt dużo o PHP nie wiem więc zwracam się o pomoc.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="pl" />
<meta name="robots" content="all" />
<meta name="distribution" content="global" />
<meta name="classification" content="srodki ochrony bhp" />
<meta name="abstract" content="Hurtownia artykułów bhp" />
<?php if($_GET['url']=='kontakt'): ?>
	<meta name="description" content="Centrum Artykułów BHP " />
	<meta name="keywords" content="ubrania robocze,obuwie robocze,rękawice ochronne,ręczniki frotte, czyściwo bawełna,chemia gospodarcza,artykuły do sprzątania,ręczniki papierowe" />  
	<TITLE>Hurtownia Artykułów BHP</TITLE>
<?php elseif($_GET['url']=='galeria'): ?>
	<meta name="description" content="Centrum Artykułów BHP " />
	<meta name="keywords" content="ubrania robocze,obuwie robocze,rękawice ochronne,ręczniki frotte, czyściwo bawełna,chemia gospodarcza,artykuły do sprzątania,ręczniki papierowe" />  
	<TITLE>Artykuły bhp</TITLE>
<?php elseif($_GET['url']=='o-nas'): ?>
	<meta name="description" content="Centrum Artykułów BHP " />
	<meta name="keywords" content="ubrania robocze,obuwie robocze,rękawice ochronne,ręczniki frotte, czyściwo bawełna,chemia gospodarcza,artykuły do sprzątania,ręczniki papierowe" />  
	<TITLE>Centrum artykułów BHP</TITLE>
<?php elseif($_GET['url']=='oferta' && $_GET['suburl']=='artykuly-bhp'): ?>
	<meta name="description" content="Centrum Artykułów BHP " />
	<meta name="keywords" content="inne artykuły bhp,okulary,maski spawalnicze,google,okulary ochronne, zatyczki do uszu,półmaski przeciwpyłowe,torby narzędziowe,pasy na narzędzia,pasy antyprzeciążeniowe, taśmy ostrzegawcze,nakolanniki,tablice informacyjne" />  
	<TITLE>Hurtownia BHP</TITLE>
<?php elseif($_GET['url']=='oferta' && $_GET['suburl']=='reczniki-papierowe'): ?>
	<meta name="description" content="Centrum Artykułów BHP " />
	<meta name="keywords" content="ręczniki papierowe,papiery przemysłowe, ręczniki fi19, fi14, ręczniki kuchenne: białe, szare,ręczniki fi22: białe, zielone, szare,papiery toaletowe,worki na śmieci 35L, 60L, 120L, 160L, 240L" />  
	<TITLE>Hurtownia BHP</TITLE>
<?php elseif($_GET['url']=='oferta' && $_GET['suburl']=='artykuly-do-sprzatania'): ?>
	<meta name="description" content="Centrum Artykułów BHP " />
	<meta name="keywords" content="artykuły do sprzątania,mopy,wiadra,miotły,surgo,ulicówki,miotły brzozowe,style,zmiotki,szufelki,łopaty budowlane,łopaty do śniegu" />  
	<TITLE>Hurtownia BHP</TITLE>
<?php elseif($_GET['url']=='oferta' && $_GET['suburl']=='chemia-gospodarcza'): ?>
	<meta name="description" content="Centrum Artykułów BHP " />
	<meta name="keywords" content="pasty bhp,płyny do naczyń,mydła w płynie toaletowe,płyny do WC,płyny uniwersalne,odświeżacze powietrza w sprayu i żelu,wc kostki,płyny do szyb,kremy do rąk" />  
	<TITLE>Hurtownia BHP</TITLE>
<?php elseif($_GET['url']=='oferta' && $_GET['suburl']=='czysciwa-bawelniane'): ?>
	<meta name="description" content="Centrum Artykułów BHP " />
	<meta name="keywords" content="czyściwo cięte prasowane bawełna,ubrania robocze,obuwie robocze,rękawice ochronne,ręczniki frotte,czyściwo bawełna,chemia gospodarcza,artykuły do sprzątania,ręczniki papierowe" />  
	<TITLE>Hurtownia BHP</TITLE>
<?php elseif($_GET['url']=='oferta' && $_GET['suburl']=='reczniki-frotte'): ?>
	<meta name="description" content="Centrum Artykułów BHP " />
	<meta name="keywords" content="ręczniki frotte,ręczniki frotte gr. 400,ręczniki gr. 50x100,ręczniki 70x140,ścierki flanelowe,ścierki lniane,ścierki tetra,mikrowłókna,frotte" />  
	<TITLE>Hurtownia bhp</TITLE>
<?php elseif($_GET['url']=='oferta' && $_GET['suburl']=='rekawice-ochronne'): ?>
	<meta name="description" content="Centrum Artykułów BHP " />
	<meta name="keywords" content="rękawice skóra lico,rękawice skóra dwoina,rękawice skóra kozia, rękawice spawalnicze,rękawice gospodarcze,rękawice dragony,rękawice brukarskie,rękawice drelichowe, rękawice nitrylowe,rękawice lateksowe,rękawice kwasoodporne,rękawice olejoodporne,rękawice ocieplane, rękawice bawełniane." />  
	<TITLE>Hurtownia bhp</TITLE>
<?php elseif($_GET['url']=='oferta' && $_GET['suburl']=='obuwie-robocze'): ?>
	<meta name="description" content="Centrum Artykułów BHP " />
	<meta name="keywords" content="trzewiki z podnoskiem stalowym,trzewiki z podnoskiem kompozytowym, trzewiki bez podnoska,półbuty lico,półbuty welur,sandały,buty dla spawaczy,buty ocieplane,buty gumowe, buty filcowo-gumowe,wodery,klapki kąpielowe,klapki profilaktyczne" />  
	<TITLE>Hurtownia bhp</TITLE>
<?php elseif($_GET['url']=='oferta' && $_GET['suburl']=='ubrania-robocze'): ?>
	<meta name="description" content="Centrum Artykułów BHP" />
	<meta name="keywords" content="szwedy,spodnie do pasa,krótkie spodnie,spodnie moro,bluzy robocze, bezrękawniki,fartuchy robocze,fartuchy dederonowe,fartuchy laboratoryjne,kamizelki odblaskowe,t-shrit, koszule flanelowe,czapki letnie,czapki zimowe,kominiarki" />  
	<TITLE>Hurtownia bhp</TITLE>
<?php else: ?>
	<meta name="description" content="Centrum Artykułów BHP" />
	<meta name="keywords" content="ubrania robocze,obuwie robocze,rękawice ochronne,ręczniki frotte, czyściwo bawełna,chemia gospodarcza,artykuły do sprzątania,ręczniki papierowe" />  
	<TITLE>Hurtownia bhp</TITLE>
<?php endif; ?>
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" />
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />

<script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>
<script src="js/lightbox.js" type="text/javascript"></script>
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-2771581-48']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</head>
<body>
<?php

include("include/funkcje.php");

function index(){


		include("views/onas.php");
}

function onas(){

		include("views/onas.php");
}


function oferta(){

		$subPage = $_GET['suburl'];
		$menunumber = 0;
		$classLinksArray = $GLOBALS['classLinksArray'];

		include("views/oferta.php");
}

function galeria(){

		include("views/galeria.php");
}

function kontakt(){

		include("views/kontakt.php");
}


?>

</body>
</html>

 

komentarz 24 kwietnia 2023 przez VBService Ekspert (253,340 p.)
edycja 25 kwietnia 2023 przez VBService

BTW, możesz np. nadpisać zawartość $_GET['url'] według zapisu podanego przez @Comandeer; jeśli nie chce się Tobie zmieniać w całym kodzie na $url.

<?php
    $_GET['url'] = empty($_GET['url']) ? null : $_GET['url'];    
?>

<?php if($_GET['url']=='kontakt'): ?>
...

 

analogicznie

<?php
    $_GET['url'] = empty($_GET['url']) ? null : $_GET['url'];
    $_GET['suburl'] = empty($_GET['suburl']) ? null : $_GET['suburl'];
?>

<?php if($_GET['url']=='kontakt'): ?>
...

 

2 odpowiedzi

+2 głosów
odpowiedź 24 kwietnia 2023 przez Comandeer Guru (601,110 p.)

Wynika on z tego, że odwołujesz się do $_GET['url'] bez uprzedniego sprawdzenia, czy taka zmienna wgl istnieje.

Możesz np stworzyć sobie na początku zmienną $url, do której przypiszesz wartość $_GET['url'] lub fallbackową, jeśli nie istnieje $_GET['url']:

$url = empty($_GET['url']) ? '' : $_GET['url'];

A w dalszym kodzie po prostu będziesz się posługiwać zmienną $url zamiast $_GET['url'].

komentarz 24 kwietnia 2023 przez tymek_1 Nowicjusz (130 p.)
Gdzie dokładnie dodać tą linijkę do kodu?
komentarz 24 kwietnia 2023 przez Comandeer Guru (601,110 p.)

Gdzieś przed pierwszym użyciem $_GET['url'] w kodzie.

+1 głos
odpowiedź 25 kwietnia 2023 przez VBService Ekspert (253,340 p.)

Możesz też użyć zapisu z użyciem operatora null coalescing

$url = $_GET['url'] ?? null;

 

lub nadpisać wartość $_GET['url']

$_GET['url'] = $_GET['url'] ?? null;

od wersji php 7.4

$_GET['url'] ??= null;

 

Podobne pytania

0 głosów
1 odpowiedź 667 wizyt
pytanie zadane 1 października 2018 w PHP przez olejniczakbydgoszcz Początkujący (290 p.)
0 głosów
1 odpowiedź 160 wizyt
0 głosów
2 odpowiedzi 6,909 wizyt

92,572 zapytań

141,422 odpowiedzi

319,644 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...