Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem przykładu z książki PHP i MySQL błąd w skrypcie
Forum PHP.pl > Forum > PHP
Bandicoot
Witam.
Realizuję zagadnienia z książki PHP i MySQL Vademecum Profesjonalisty i niestety przytrafił mi się kłopot z którym nie potrafię sobie poradzić. Formularz powinien pobrać informację o książce (ISBN, autor, tytuł, cena) i zapisać je do bazy danych.

Kod formularza:
CODE
<html>
<head>
<title>"Książkorama" - Wstawianie nowej książki</title>
</head>

<body>
<h1>"Książkorama" - Wstawianie nowej książki</h1>

<form action="wstaw_ksiazke.php" method="post">
<table border="0">
<tr><td>ISBN</td><td><input type="text" name="isbn" maxlength="13" size="13"></td></tr>
<tr><td>Autor</td><td> <input type="text" name="autor" maxlength="30" size="30"></td></tr>
<tr><td>Tytuł</td><td> <input type="text" name="tytul" maxlength="60" size="30"></td></tr>
<tr><td>Cena PLN</td><td><input type="text" name="cena" maxlength="7" size="7"></td></tr>
<tr><td colspan="2"><input type="submit" value="Zapisz"></td></tr>
</table>
</form>
</body>
</html>


Skrypt PHP:
CODE

<html>
<head>
<title>"Książkorama" - rezultat wstawiania nowej książki</title>
</head>
<body>
<h1>"Książkorama" - rezultat wstawiania nowej książki </h1>
<?php
// utworzenie krótkich anzw zmiennych
$isbn=$_POST['isbn'];
$autor=$_POST['autor'];
$tytul=$_POST['tytul'];
$cena=$_POST['cena'];

if (!$isbn || !$autor || !$tytul || !$cena)
{
echo 'Nie podano wszystkich potrzebnych danych.<br />'
.'Wróć do poprzedniej strony i spróbuj ponownie.';
exit;
}

if (!get_magic_quotes_gpc())
{
$isbn = addslashes($isbn);
$autor = addslashes($autor);
$tytul = addslashes($tytul);
$cena = doubleval($cena);
}

@$db = new mysqli('localhost', 'ksiazkorama', 'ksiazkorama', 'ksiazki');

if (mysqli_connect_errno())
{
echo 'Błąd: : Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
exit;
}

$zapytanie = "insert into ksiazki values ('".$isbn."', '".$autor."', '".$tytul."', '".$cena."')";
$wynik = $db->query($zapytanie);
if ($wynik)
echo $db->affected_rows.' książka zapisana do bazy.';
?>

</body>
</html>

i jeszcze to co mi zwraca przeglądarka:
CODE

"KsiÄ�źkorama" - rezultat wstawiania nowej ksiÄ�źki

' .'WrĂłÄ�do poprzedniej strony i sprĂłbuj ponownie.'; exit; } if (!get_magic_quotes_gpc()) { $isbn = addslashes($isbn); $autor = addslashes($autor); $tytul = addslashes($tytul); $cena = doubleval($cena); } @$db = new mysqli('localhost', 'ksiazkorama', 'ksiazkorama', 'ksiazki'); if (mysqli_connect_errno()) { echo 'BĹ��: : PoĹ��zenie z bazÄ�danych nie powiodĹ� siÄ� SprĂłbuj jeszcze raz później.'; exit; } $zapytanie = "insert into ksiazki values ('".$isbn."', '".$autor."', '".$tytul."', '".$cena."')"; $wynik = $db->query($zapytanie); if ($wynik) echo $db->affected_rows.' ksiÄ�źka zapisana do bazy.'; ?>


Podejrzewam że trzeba gdzieś zastosować znak ucieczki, ale nie do końca wiem gdzie. Proszę o pomoc.
Pozdrawiam
tehaha
a testujesz to na jakimś serwerze czy tylko tak sobie to odpaliłeś w przeglądarce? bo wygląda na to, że nie ma obsługi php
Bandicoot
Mam WampSerwer inne pliki PHP działają, mysql w konsoli też działa, wyświetla tabele i się łączy normalnie.

//edit rzeczywiście w serwerze był kłopot miałem w php.ini coś poprzestawiane, ale pomogłeś mi dzięki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.