Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Proszę o pomoc .... nie daje rady
#1
Robiłem formularz który działał ale nastepował problem z kodowaniem polskich znaków.
Testowałem różne kodowania i nagle formularz przestał działac

nie wiem co sie dzieje
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8895-2" />
<meta name="Descryption" content=" Strona testowa arkuszy stylw" />
<meta name="keywords" content="Arkusze stylw" />
<meta name="Author" content="Piotr Zdanowicz"/>
<meta name="Generator" content="Dreamweaver"/>
<title>Po wysaniu Imienia i Nazwiska</title>

<style type="text/css">

body {
background-color: #FFFFCC;
}

</style>
</head>
<body>
<h2>Dziekujemy za przesanie danych</h2>


<?php

$firstname = $_POST['first_name'];
$lastname = $_POST['last_name'];
$email = $_POST['email'];
$telefon = $_POST['telefon'];
$wiek = $_POST['wiek'];

$dbc = mysql_connect('localhost', 'root', '','spis_ludzi')
or die('Error connecting to MySQL server.');
$query = "INSERT INTO ludzie ('imie', 'nazwisko', 'email', 'telefon', 'wiek' )".
"VALUES ('$first_name','$last_name','$email', '$telefon', '$wiek')";

$result = mysql_query($query)
or die('Error querying database.');
mysql_close($dbc);

echo 'Dziki za wypenienie formularza.<br />';
echo 'Teraz moesz juz zobaczy czy wpis zosta dodany i czy figurujesz na licie.<br />';



?>

<p align="center"><a href="Ludzie.html">Nacinij aby przejc do przegldania spisu w Bazie Danych</a></p>
<p align="center"><a href="kwestionariusz osobowy.html">Dodaj kolejny wpis do Bazy danych</a></p>
</body>
</html>
a formularz wygląda tak
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8895-2" />
<meta name="Descryption" content=" Strona testowa arkuszy stylw" />
<meta name="keywords" content="Arkusze stylw" />
<meta name="Author" content="Piotr Zdanowicz"/>
<meta name="Generator" content="Dreamweaver"/>
<title>Kwestionariusz osobowy</title>


<link rel="stylesheet" href="glowny.css" type="text/css" />
</head>



<body>
<h2>Kwestionariusz Osobowy</h2>


<form method="post" action="wyslij.php">
<label for="firstname">Imie:</label>
<input type="text" id="firstname" name="firstname" /><br />
<label for="lastname">Nazwisko:</label>
<input type="text" id="lastname" name="lastname" /><br />
<label for="email">Twoj adres e-mail ?</label>
<input type="text" id="email" name="email" /><br />
<label for="telefon">Numer telefonu ?</label>
<input type="text" id="telefon" name="telefon"/><br/>
<label for="wiek">Ile masz lat ?</label>
<input type="wiek" id="wiek" name="wiek"/><br/>
<input type="submit" value="Wyslij" name="submit" />
</form>
<p align="center"><a href="Ludzie.html">Przejd do przeszukiwania i wywietlania Bazy danych</a></p>
</body>
</html>


błąd zgłaszany to :
undefined index firstname in c:\xammp\piotr\....... line 23

a jezeli nie pokazuje się ten błąd
to i tak nie zapisuje mi rekordu do bazy
Bardzo proszę o pomoc
używam Xampp 1.7.3
Odpowiedz
#2
Zmień "charset=iso-8895-2" na "charset=iso-8859-2"
Odpowiedz
#3
(01-10-2011, 14:40)artux napisał(a): Zmień "charset=iso-8895-2" na "charset=iso-8859-2"

Nie to nie pomaga.
Co ciekawe dane moge wprowadzać za pomocą np EMS SQL editor i jestok
ale w shellu juz nie mogę

wpisując np insert into ludzie ......

zgłasza mi bład ze nie istnieje tabela spis_ludzi.ludzie ????


nie mam siły Smile)
Odpowiedz
#4
Prawdopodobnie próbujesz pisa zmienną o wartoci null do bazy danych a prawdopodobnie masz ją ustawioną jako not null

Patrz tutaj:
Kod:
$firstname = $_POST['first_name'];
$lastname = $_POST['last_name'];

Do zmiennych firstname oraz lastname próbujesz przypisać dane z tablicy POST o nazwach first_name oraz last_name

A patrz tu:

Kod:
<form method="post" action="wyslij.php">
<input type="text" id="firstname" name="firstname" />
<input type="text" id="lastname" name="lastname" />

Formularzem tworzysz zmienne o nazwie $_POST['firstname'] oraz $_POST['lastname'] ale próbujesz później używać $_POST['first_name'] oraz $_POST['last_name']

A na końcu w zapytaniu SQL próbujesz użyć zmiennych których nie deklarowałeś nigdzie w kodzie czyli $first_name i $last_name - takie wcześniej nie definiowane zmienne mają wartość NULL

Daj znać na czym polega problem z kodowaniem znaków (czy w ogóle na stronie? Czy tylko wpisy do bazy danych są skopane?)

Btw polecam przejść z iso-8... na utf-8
Odpowiedz
#5
Tak dzieki miałeś racje

przesłałem ten skrypt po jego kolejnej modyfikacji
ale deklarowanie zmiennych jest prawidłowe

i dalej nie działa
co ciekawsze jeśli stosuje
if ( isset($_POST["imie"]) )
$imie = trim($_POST["imie"]);

i koryguje zmienne formularza wszystko działa jak należy
to kosmos
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  pomoc z google analitycs blondynka2 1 2,522 09-03-2015, 04:54
Ostatni post: blondynka2
  Prosze o pomoc - kolor formularza kontaktowego puchallowen 3 4,011 08-11-2014, 14:40
Ostatni post: Kartofelek
  Proszę o rady i wskazówki sauron33 4 2,873 22-05-2013, 17:27
Ostatni post: kornell
  Wyszukiwarka na stronie - kod proszę o pomoc saur0n 2 2,542 10-05-2013, 23:45
Ostatni post: kornell
  Pomoc z szablonem do bloggera dominator1 0 1,959 01-05-2013, 22:40
Ostatni post: dominator1

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl