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

Błąd przy wpisywaniu danych do formularza

Object Storage Arubacloud
0 głosów
211 wizyt
pytanie zadane 26 marca 2018 w PHP przez iqecotel1 Nowicjusz (140 p.)

Witam, mam do zrobienia formularz, który ma za zadanie wprowadzenie danych do bazy. Przy wpisaniu wszystkich wartości wyskakuje że produkt został już umieszczony mimo że baza jest pusta (w kodzie mam napisane że ma się tak wyświetlać). Używam programu xampp. problem jest w bazie danych czy w kodzie?

<html>
	<head>
		<title>Dodawanie użytkowników do bazy</title>
		<meta charset="utf-8">
		<style type="text/css">
			#formularz {
				width: 400px;
				text-align: right;
				margin-top: 50px;
				margin-left: auto;
				margin-right: auto;				
				
			}
			input {
				border-radius: 6px;
				margin: 5px 0px; 
				width: 200px;
				font-size: 12px;
			}
			input.przycisk {
				width: 100px;
			}
			h1 {
				text-align: left;
				font-size: 23px;
			}
			#blad {
				width: 400px;
				text-align: center;
				margin-top: 50px;
				margin-left: auto;
				margin-right: auto;	
				color: red;				
				font-size: 20px;
				font-weight: bold;
				
			}	
			#powodzenie {
				width: 400px;
				text-align: center;
				margin-top: 50px;
				margin-left: auto;
				margin-right: auto;		
				font-size: 15px;
				color: green;
				font-weight: bold;
				
			}				
		</style>
	</head>
	<body>
	<?php
		if ((isset($_GET['akcja']))&&($_GET['akcja']=='dodaj')) {
			if (($_POST['p1']=='Nazwa produktu..')||($_POST['p2']=='Cena..')||($_POST['p3']=='Liczba w magazynie..')) {
				echo '<div id=blad>Wypełnij wszystkie wymagane pola!</div>';
			} else {
				$zapytanie="insert into produkty values(";
				$zapytanie.="'".$_POST['p1']."',";
				$zapytanie.="'".$_POST['p2']."',";
				$zapytanie.="'".$_POST['p3']."',";
				$zapytanie.=")";
				echo '<div id=blad>';
				$baza=mysqli_connect('localhost','root','','produkty1') or die('Błąd połączenia!');
				echo '</div>';
				if (mysqli_query($baza,$zapytanie)) 
						echo '<div id=powodzenie>Produkt został dodany poprawnie!</div>';				
						else 
						echo '<div id=blad>Błąd!Produkt został już umieszczony</div>';								
				mysqli_close();
				
			}			
		}
	
	?>
	<div id=formularz>
		<form action="index.php?akcja=dodaj" method=POST>
			<h1>Formularz uzupełniania produktów:</h1>
			<hr>
			<br>
			<input type="text" name=p1 id=p1 value="Nazwa produktu.." onclick="if (this.value=='Nazwa produktu..') this.value='';" onmouseout="if (this.value=='') this.value='Nazwa produktu..';"><br>
			<input type="text" name=p2 id=p2 value="Cena.." onclick="if (this.value=='Cena..') this.value='';" onmouseout="if (this.value=='') this.value='Cena..';"><br>			
			<input type="text" name=p3 id=p3 value="Liczba w magazynie.." onclick="if (this.value=='Liczba w magazynie..') this.value='';" onmouseout="if (this.value=='') this.value='Liczba w magazynie..';"><br>					
			<input type="submit" value="Dodaj" class=przycisk>
		</form>
	</div>
	</body>
</html>

3 odpowiedzi

0 głosów
odpowiedź 26 marca 2018 przez Bosswell Nałogowiec (36,470 p.)
Po pierwsze, to nie mysqli_close();  tylko mysqli_close($baza);

Budowa twojego zapytania jest bardzo zagmatwana. Prawdopodobnie popełniłeś błąd przy sile apostrofów i cudzysłowów.
0 głosów
odpowiedź 26 marca 2018 przez Jedras Maniak (54,860 p.)
Zrób sobie jakiś var_dump tego zapytania i zobacz, co się tam stworzyło.
0 głosów
odpowiedź 26 marca 2018 przez anka_m Początkujący (370 p.)
a nie brakuje apostrofów przy name=p1  ( i w innych miejscach) w formularzu?

Podobne pytania

0 głosów
1 odpowiedź 186 wizyt
pytanie zadane 8 stycznia 2018 w PHP przez mi-20 Stary wyjadacz (13,190 p.)
+1 głos
3 odpowiedzi 2,858 wizyt
pytanie zadane 2 kwietnia 2021 w PHP przez maciek3621 Nowicjusz (180 p.)
0 głosów
1 odpowiedź 351 wizyt
pytanie zadane 25 czerwca 2020 w PHP przez Tomcio2287 Nowicjusz (220 p.)

92,555 zapytań

141,404 odpowiedzi

319,557 komentarzy

61,940 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!

...