Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] problem z formularzem
superwilly
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (0%)
-----


kochani prosze was o pomoc bo sam niestety narazie niejestem najmocniejszy z php mam tu kod formularza ktory ma mi dodawac do tabeli nowy rekord tylko jakos mi niechce chodzi niewiem co z nim jest nietak:((

[php]
<form action="index.php" method="get">
<table border="0">
<tr><td>Wykonawca</td><td><select name="wykonawca" >
<?
$sql3 = 'SELECT * FROM `ibd_wykonawca`';
$result3=mysql_query($sql3);
$ooo3='';
$ooo3.='<option value="0"> wybierz Wykonawce </option>';
while($row=mysql_fetch_array($result3))
{
$ooo3.='<option value="'.$row['idWykonawcy'].'">'.$row['nazwa'].'</option>';
}
$ooo3.='</select>';
echo $ooo3;
?>
</td></tr>

<tr><td>tytul</td><td><input type="text" name="tytul" maxlength="13" size="13"></td></tr>

<tr><td>nosnik</td><td> <input type="text" name="nosnik" maxlength="30" size="30"></td></tr>
<tr><td>gatunek</td><td><select name="gatunek" >
<?
$sql = 'SELECT * FROM `ibd_gatunek`';
$result=mysql_query($sql);
$ooo='';
$ooo.='<option value="0"> wybierz gatunek </option>';
while($row=mysql_fetch_array($result))
{
$ooo.='<option value="'.$row['idGatunek'].'">'.$row['nazwa'].'</option>';
}
$ooo.='</select>';
echo $ooo;
?>
</td></tr>

<tr><td>label</td><td><select name="label" >
<?
$sql2 = 'SELECT * FROM `ibd_label`';
$result2=mysql_query($sql2);
$ooo2='';
$ooo2.='<option value="0"> wybierz LABEL </option>';
while($row=mysql_fetch_array($result2))
{
$ooo2.='<option value="'.$row['idLabel'].'">'.$row['nazwa'].'</option>';
}
$ooo2.='</select>';
echo $ooo2;
?>
</td></tr>
<tr><td>opis</td><td> <input type="text" name="opis" 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>


<?

$idWykonawcy=$_POST['wykonawca'];
$idLabel=$_POST['label'];
$idGatunek=$_POST['gatunek'];
$tytul=$_POST['tytul'];
$cena=$_POST['cena'];
$opis=$_POST['opis'];
$nosnik=$_POST['nosnik'];


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

if (!get_magic_quotes_gpc())
{
$wykonawca = addslashes($wykonawca);
$label = addslashes($label);
$gatunek = addslashes($gatunek);
$tytul = addslashes($tytul);
$cena = doubleval($cena);
$opis = addslashes($opis);
$nosnik = addslashes($nosnik);
}

@ $db = new mysqli('*****************************************');

if (mysqli_connect_errno())
{
echo 'Blad: : Polaczenie z bazy danych nie powiodlo się. Spróbuj jeszcze raz później.';
exit;
}

$zapytanie = "insert into ibd_plyty values ('".$idWykonawcy."', '".$label."', '".$gatunek."', '".$tytul."', '".$cena."', '".$nosnik."')";
$wynik = $db->query($zapytanie);
if ($wynik)
echo $db->affected_rows.'zapisane do bazy.';
?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
KotDomowy
post
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 6.12.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Zmieniłbym ten kawałek kodu na:

  1. <?php
  2. if (!$_POST['wykonawca'] ||!$_POST['$label'] || !$_POST['gatunek'] || !$_POST['tytul'] || !$_POST['cena'] || !$_POST['opis'] || !$_POST['nosnik'])
  3. {
  4.  echo 'Nie podano wszystkich potrzebnych danych.<br />'
  5. .'Wróć do poprzedniej strony i spróbuj ponownie.';
  6.  exit;
  7. }
  8.  
  9. {
  10. $wykonawca = addslashes($_POST['wykonawca']);
  11. $label = addslashes($_POST['label']);
  12. $gatunek = addslashes($_POST['gatunek']);
  13. $tytul = addslashes($_POST['tytul']);
  14. $cena = doubleval($_POST['cena']);
  15. $opis = addslashes($_POST['opis']);
  16. $nosnik = addslashes($_POST['nosnik']);
  17. }
  18. ?>


wtedy dane na pewno zostaną przypisane do zmiennych. Poza tym dziwną rzeczą jest to, że raz korzystasz z mysql. a raz z mysqli - masz oba moduły wkompilowane w php?? A funkcja die(mysql_error()) pokazuje błędy w wywołaniu query
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 15:50