Niedziałające dodawanie rekordów do bazy przez formularz

0

**Witam mam taki problem, że nie może mi dodać rekordów do bazy danych. Od razu mówię, że jestem świeżak więc proszę o wyrozumiałość.
Jakby była możliwośc to prosze o poprawienie kodu oraz wyjaśnienie po krótko zmian. Dzieki za pomoc tongue.gif

Cały kod (Problem zaczyna sie gdy sie wypełni formularz i kliknie dalej): **

<div id="table">
<?php 
ini_set("display_errors", 0);
require_once 'dbconnect.php';
$polaczenie = mysqli_connect($host, $user, $password);
mysqli_query($polaczenie, "SET CHARSET utf8");
mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
mysqli_select_db($polaczenie, $database);

$zapytanietxt = file_get_contents("zapytanie.txt");

$rezultat = mysqli_query($polaczenie, $zapytanietxt);
if (!$rezultat) {
    die("<div class='unsucces'>Połączenie z Baza Danych nie udane</div>");
}
echo "<div class='succes'>Połączenie z Baza Danych udane</div>";


$ile = mysqli_num_rows($rezultat);

if ($ile>=1) 
{
}
	for ($i = 1; $i <= $ile; $i++) 
	{
		
		$row = mysqli_fetch_assoc($rezultat);
		$id = $row['id'];
		$tresc = $row['tresc'];
		$odpa = $row['odpa'];
		$odpb = $row['odpb'];
		$odpc = $row['odpc'];
		$odpd = $row['odpd'];
		$answer = $row['answer'];
		$kategoria = $row['kategoria'];
		$rok = $row['rok'];		
		
echo<<<END
<div class="dol">
<div class="cont tesc"><div class="numer">$id</div> $tresc</div>
<div class="content"><div class="nr">a)</div><div class="cont odp">$odpa</div>
<div class="nr">b)</div><div class="cont odp">$odpb</div>
<div class="nr">c)</div><div class="cont odp">$odpc</div>
<div class="nr">d)</div><div class="cont odp">$odpd</div></div>
<div class="cont pytanie">$answer</div>
<div class="cont kat">$kategoria</div>
<div class="cont rok">$rok</div>
</div>
END;
			
	}
	

?>
<?php


// odbieramy dane z formularza 
	
	$imie = $_POST['imie']; 
	$email = $_POST['email']; 
	$tresc = $_POST['tresc']; 

if($imie and $tresc and $email) { 
	
	$ins = @mysql_query("INSERT INTO pytania SET tresc='$imie', odpa='$email'"); 
		 
	if($ins) echo "<div class='succes'>Pomyślni dodano rekord</div>"; 
	else echo "<div class='unsucces'>Cos poszło nie tak</div>"; 
} 

?>
</div>
<div class="post">
	<form action="index.php" method="post"> 
		imię:<br /> 
		<input type="text" name="imie" /><br /> 
		e-mail:<br /> 
		<input type="text" name="email" /><br /><br />
		<input type="textarea" name="tresc"/><br />
		<input type="submit" value="dodaj" /> 
	</form>
</div> 
0

Skladnia inserta jest błędna, powinno byc

insert into pytania (treść, odpa) values ('wartosctresci','email')
1

Zamień kolejność - najpierw sprawdź POST i zapisz do bazy, a potem odczytaj...

0

Nadal nie działa. Zauwazyłem ze po linijcie

if($imie and $tresc and $email) {  

Jak wstawie ponowne łączenie z baza danych to działa tylko podczas przeladowania dodaje sie rekord

1

Chwila, wszędzie powyżej korzystasz z mysqli, a tu nagle z mysql...

0
Marcin.Miga napisał(a):

Chwila, wszędzie powyżej korzystasz z mysqli, a tu nagle z mysql...

Tego nie rozumiem ?

Dłbyś rade na szybko napisać kod ?

0
if($imie && $tresc && $email) { 
 
    $ins = @mysqli_query("INSERT INTO pytania(tresc, odpa) Values('$imie', '$email')"); 
 
    if($ins) echo "<div class='succes'>Pomyślni dodano rekord</div>"; 
    else echo "<div class='unsucces'>Cos poszło nie tak</div>"; 
} 
0

nie działa nadal

0

Ustawiłem zeby mi błedy pokazywało i wyskoczył mi bład w tej linijce:

if($imie && $tresc && $email) {  

Notice: Undefined variable: imie in F:\xampp\htdocs\quiz\index.php on line 80

1 użytkowników online, w tym zalogowanych: 0, gości: 1