1

大きな編集:

新しいスクリプト:

<?php
error_reporting(E_ALL|E_NOTICE);
$nazwabazydanych = "projekt";

$pesel = mysql_real_escape_string($_POST['pesel']);
$imie = mysql_real_escape_string($_POST['imie']);  
$nazwisko = mysql_real_escape_string($_POST['nazwisko']);
$telefon = mysql_real_escape_string($_POST['telefon']);
$adres = mysql_real_escape_string($_POST['adres']);
$nr_konta = mysql_real_escape_string($_POST['nr_konta']);
$zarobek = mysql_real_escape_string($_POST['zarobek']);

if (!$pesel || !$imie || !$nazwisko || !$telefon || !$adres || !$nr_konta || !$zarobek)

 {
        print "Nie zostały wypełnione wszystkie pola";
        exit;
 }


$db = mysql_pconnect("localhost", "root", "");
if (!$db)  
        {  
        print "Nie można nawiązać połączenia z bazą danych";
        exit;
        }

mysql_select_db("$nazwabazydanych");

$query = mysql_query("CALL dodaj_osobe ('$pesel','$imie','$nazwisko','$telefon','$adres','$nr_konta','$zarobek')"); 

?>

アクション:

<form action="lool.php" method="post">

PESEL: <input type="text" name="pesel" maxlength=11 size=12><br><br> 
Imię: <input type="text" name="imie" maxlength=45 size=46><br><br>
Nazwisko: <input type="text" name="nazwisko" maxlength=45 size=46><br><br>
Telefon: <input type="text" name="telefon" maxlength=9 size=10><br><br>
Adres: <input type="text" name="adres" maxlength=45 size=46><br><br>
Numer konta: <input type="text" name="nr_konta" maxlength=20 size=21><br><br>
Zarobek: <input type="text" name="zarobek" maxlength=8 size=9><br><br>
<input type="submit" value="Dodaj klienta">
</form>

そして更新されたエラー:

なし!

ありがとうございます。質問があります。たとえば、「nr_konta」、「pesel」、または「telefon」の桁が小さすぎる場合、どうすればエラーを送信できますか?

4

3 に答える 3

2

値を取得する print_r($_POST)かどうかを確認する必要があります。あなたのコードでは、問題はあなたが正しいインデックスを使用していないことであるように思われます。注Peselには通知がありませんが、imieには通知があります。

2つのコード:

$pesel = mysql_real_escape_string($_POST['pesel']);
$imie = mysql_real_escape_string($_POST['$imie']);

'$imie'インデックスとして持っていることに注意してください。ここでコピーアンドペーストエラーを推測しています。htmlから、要素の名前はimieのようです。これを試して:

$imie = mysql_real_escape_string($_POST['imie']);
于 2012-12-13T16:31:41.277 に答える
2

オンになっていない限り、$_POST 配列を使用して POST 変数を取得する必要がありますregister_globals

$pesel = mysql_real_escape_string($_POST['pesel']);
$imie = mysql_real_escape_string($_POST['imie']);  
$nazwisko = mysql_real_escape_string($_POST['nazwisko']);
$telefon = mysql_real_escape_string($_POST['telefon']);
$adres = mysql_real_escape_string($_POST['adres']);
$nr_konta = mysql_real_escape_string($_POST['nr_konta']);
$zarobek = mysql_real_escape_string($_POST['zarobek']);

// Put this after so you don't have to restate the $_POST vars
if (!$pesel || !$imie || !$nazwisko || !$telefon || !$adres || !$nr_konta || !$zarobek)

 {
        print "Nie zostały wypełnione wszystkie pola";
        exit;
 }
于 2012-12-13T16:13:51.137 に答える
1

実際には $_POST 値を取得していません。

する必要があります

$pesel = mysql_real_escape_string($_POST['pesel']);
$imie = mysql_real_escape_string($_POST['imie']);  
$nazwisko = mysql_real_escape_string($_POST['nazwisko']);
$telefon = mysql_real_escape_string($_POST['telefon']);
$adres = mysql_real_escape_string($_POST['adres']);
$nr_konta = mysql_real_escape_string($_POST['nr_konta']);
$zarobek = mysql_real_escape_string($_POST['zarobek']);

そして、それらはあなたの前に行くべきです

if (!$pesel || !$imie || !$nazwisko || !$telefon || !$adres || !$nr_konta || !$zarobek)

$また、値からを削除する必要があり$_POSTます。

$_POST['$imie']

次のようにする必要があります。

$_POST['imie']

于 2012-12-13T16:15:58.497 に答える