Wątek przeniesiony 2015-11-30 17:56 z PHP przez dzek69.

Formularz z zapisem do bazy danych

0

Witam mam stworzyć formularz w którym muszę wpisać liczbę i dodać ją do bazy za pomocą skryptu php i pokazac wynik zapisania za pomoca drugiego skryptu
Mianowicie mam taki problem że liczba musi być większa od zera i mam problem z umieszczeniem tego w kodzie .Proszę o pomoc drugi skrypt

 <!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="strona.css" type="text/css" />
<meta charset="utf-8" />
<title></title>
</head>
<body>
<div id="box">
<div id="naglowek">

</div>
<div id="tresc">
<form action="form.php" method="post">
liczba:<br />
<input type="text" name="liczba" /><br />

<input type="submit" value="dodaj" />
</form>
<form action="pokaz.php" method="post">
<input type="submit" value="Pokaż" href="pokaz.php">
</form>
</div>
<div id="menu">
<a href="index.php1">Strona główna</a><br>
<a href="informatyka.php">Informatyka</a><br>
<a href="elektronika.php">Elektronika</a>
</div>
</div>
</body>
</html>
<?php
$connection = @mysql_connect('localhost', 'root', '')
or die('Brak połączenia z serwerem MySQL.<br />Błąd:'.mysql_error());
echo "Udało się połączyć z serwerem!<br />";
$db = @mysql_select_db('baza', $connection)
or die ('Nie mogę połączyć się z bazą danych!<br />Błąd: '.mysql_error());

if ($_POST['liczba'] >0)

echo ("podano liczbe wieksza od zera");

$sql = "INSERT INTO liczba ($_POST['liczba']) VALUES ('$liczba')";
if (mysql_query($sql, $connection)) {
    echo "Dodano rekordy";
} else {
    echo "Błąd: " . $sql . "<br>" . mysql_error($connection);
}
mysql_close($connection);
?>
<p>
<a href="informatyka.php">Wróć</a>
</p> 
<?php
$connection = @mysql_connect('localhost', 'root', '')
or die('Brak połączenia z serwerem MySQL.<br />Błąd:'.mysql_error());
echo "Udało się połączyć z serwerem!<br />";
$db = @mysql_select_db('dane', $connection)
or die ('Nie mogę połączyć się z bazą danych!<br />Błąd: '.mysql_error());

echo '<table>';
$query = mysql_query('SELECT * FROM liczba') or die();
while ($rec = mysql_fetch_assoc($query))
{
 echo '<tr>
 <td>'.$rec['liczba'].'</td>


 </tr>';
}
echo '</table>';
mysql_close($connection);
?>
<p>
<a href="informatyka.php">Wróć</a>
</p> 
0

Złe klamry:

if ($_POST['liczba'] >0)
echo ("podano liczbe wieksza od zera");

Po pierwszym ifie nie otwierasz klamry, co sprawia, że zapis do bazy odbędzie się nawet, gdy liczba będzie mniejsza od zera. Otwórz tam klamrę i zamknij ją po mysql_close.

0
<?php
$connection = @mysql_connect('localhost', 'root', '')
or die('Brak połączenia z serwerem MySQL.<br />Błąd:'.mysql_error());
echo "Udało się połączyć z serwerem!<br />";
$db = @mysql_select_db('dane', $connection)
or die ('Nie mogę połączyć się z bazą danych!<br />Błąd: '.mysql_error());

if ($_POST['liczba'] >0){
echo ("podano liczbe wieksza od zera");

 
$sql = "INSERT INTO liczba ($_POST['liczba']) VALUES ('$liczba')";
if (mysql_query($sql, $connection)) {
    echo "Dodano rekordy";
} else {
    echo "Błąd: " . $sql . "<br>" . mysql_error($connection);
}

mysql_close($connection);
}
?>
<p>
<a href="informatyka.php">Wróć</a>
</p> 

Po poprawce wyskakuje to
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp\www\form.php on line 12

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