Strona 1 z 1

[php] formularz pomocy

: sob maja 07, 2005 10:51 am
autor: fizyk
Wiatm, nie moge sobie poradzić ze skryptem, mam baze danych, chcialem wstawić do niej dane przy użyciu formularza, ale mi nie wychodzi, wyświetla formularz, dane wklepuje, klikam wyslij, aon powraca do formularza, nie wiem w czym problem, pomóżcie..
oto kod:
// <?

if ($nazwa && $opis && $ulica && $miasto && $kod && $telefon && $dzial) {

mysql_connect ("localhost", "uzytkownik", "haslo") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("nazwa bazy danych") or
die ("Nie można połączyć się z bazą");
$query = "INSERT INTO wedd (nazwa, opis, ulica, miasto, kod, telefon, dzial) VALUES ('$nazwa', '$opis', '$ulica',
'$miasto', '$kod', '$telefon', '$dzial');";
$wynik = mysql_query ($query);
print "<H3>Dziękujemy</H3>Dziękujemy za zgłoszenie. Dane zostaną ".
"dołączone do serwisu po zaakceptowaniu przez administratora.";

} else {
print "<H3>Dodaj własna firmę</H3>";

print "<FORM METHOD=post ><B>Nazwa firmy</B><BR>";

print "<INPUT TYPE=\"text\" NAME=\"nazwa\" VALUE=\"$nazwa\" ";
print "SIZE=60><BR> ";

print "<B>Opis firmy: </b><BR><textarea NAME=\"opis\" ";
print "rows=2 COLS=60>$opis</TEXTAREA><br>" ;


print "<B>Ulica</B><BR><INPUT TYPE=\"text\" ";
print "NAME=\"ulica\" VALUE=\"$ulica\" SIZE=30><BR>";
print "<B>Kod</B><BR><INPUT TYPE=\"text\" ";
print "NAME=\"kod\" VALUE=\"$kod\" SIZE=7><BR>";
print "<B>Telefon</B><BR><INPUT TYPE=\"text\" ";
print "NAME=\"telefon\" VALUE=\"$telefon\" SIZE=20><BR>";

print "<B>miasto</B><BR><INPUT TYPE=\"text\" ";
print "NAME=\"miasto\" VALUE=\"$miasto\" SIZE=25><BR>";

print "<B>dzial</B><BR><SELECT NAME=\"dzial\" VALUE=\"$dzial\" >";

echo "<OPTION>Lokale</OPTION>";
echo "<OPTION>Moda dla Pań</OPTION>";
echo "<OPTION>Moda dla Panów</OPTION>";
echo "<OPTION>Fotograf</OPTION>";
echo "<OPTION>Wideo</OPTION>";
echo "<OPTION>Fryzjer</OPTION>";
echo "<OPTION>Kwiaty</OPTION>";
echo "<OPTION>Auto</OPTION>";
echo "<OPTION>Uroda</OPTION>";
echo "<OPTION>Zespoły</OPTION>";
echo "<OPTION>Catering</OPTION>";
echo "<OPTION>Jubilerzy</OPTION>";
echo "<OPTION>Dekoracje</OPTION>";
echo "<OPTION>Cukiernie</OPTION>";
echo "<OPTION>Podróże</OPTION>";


echo "</select><br>";


print "<INPUT TYPE=\"submit\" VALUE=\"Wyślij\">";

print "</FORM>";
}
?>


czy tam trzeba coś konfigurować, dane do bazy moge dodac, poleceniem insert
bez formularzy, a z formularzami nie dziabie i juz, jak mozecie pomozcie z gory dzieki... :roll:

Re: [php] formularz pomocy

: sob maja 07, 2005 11:09 am
autor: FanFataL
<FORM METHOD=post >
nie masz parametru action=""

Daj na początku skryptu [manual]error_reporting[/manual](E_ALL); i jak wyskoczy błąd to powinno sie wszystko wyjaśnić.
I zamiast zmiennych globalnych używaj lepiej predefiniowanych tablic ;] $_POST['ulica'];

Pozdrawiam :wink:
...

dzieki

: sob maja 07, 2005 1:03 pm
autor: fizyk
dzięki śliczne popróbuje

pytanko

: sob maja 07, 2005 1:12 pm
autor: fizyk
spróbowałem, ale nic nie działa, nic się nie pokazuje
Jeśli mógłbyś mi poprawić ten kod będę wdzięczny:

<?

error_reporting(E_ALL);

if ($nazwa && $opis && $ulica && $miasto && $kod && $telefon && $dzial) {

mysql_connect ("localhost", "nazwa", "haslo") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("xxx") or
die ("Nie można połączyć się z bazą");
$query = "INSERT INTO nazwa (nazwa, opis, ulica, miasto, kod, telefon, dzial) VALUES ('$nazwa', '$opis', '$ulica',
'$miasto', '$kod', '$telefon', '$dzial');";
$wynik = mysql_query ($query);
print "<H3>Dziękujemy</H3>Dziękujemy za zgłoszenie. Dane zostaną ".
"dołączone do serwisu po zaakceptowaniu przez administratora.";

} else { // Wyświetlenie formularza
print "<H3>Dodaj własna firmę</H3>";

print "<FORM METHOD=post Action="http://www.slub.radom.pl/index.php"><B>Nazwa firmy</B><BR>";

print "<INPUT TYPE=\"text\" NAME=\"nazwa\" VALUE=\"$nazwa\" ";
print "SIZE=60><BR> ";

print "<B>Opis firmy: </b><BR><textarea NAME=\"opis\" ";
print "rows=2 COLS=60>$opis</TEXTAREA><br>" ;


print "<B>Ulica</B><BR><INPUT TYPE=\"text\" ";
print "NAME=\"ulica\" VALUE=\"$ulica\" SIZE=30><BR>";
print "<B>Kod</B><BR><INPUT TYPE=\"text\" ";
print "NAME=\"kod\" VALUE=\"$kod\" SIZE=7><BR>";
print "<B>Telefon</B><BR><INPUT TYPE=\"text\" ";
print "NAME=\"telefon\" VALUE=\"$telefon\" SIZE=20><BR>";

print "<B>miasto</B><BR><INPUT TYPE=\"text\" ";
print "NAME=\"miasto\" VALUE=\"$miasto\" SIZE=25><BR>";

print "<B>dzial</B><BR><SELECT NAME=\"dzial\" VALUE=\"$dzial\" >";

echo "<OPTION>Lokale</OPTION>";
echo "<OPTION>Moda dla Pań</OPTION>";
echo "<OPTION>Moda dla Panów</OPTION>";
echo "<OPTION>Fotograf</OPTION>";
echo "<OPTION>Wideo</OPTION>";
echo "<OPTION>Fryzjer</OPTION>";
echo "<OPTION>Kwiaty</OPTION>";
echo "<OPTION>Auto</OPTION>";
echo "<OPTION>Uroda</OPTION>";
echo "<OPTION>Zespoły</OPTION>";
echo "<OPTION>Catering</OPTION>";
echo "<OPTION>Jubilerzy</OPTION>";
echo "<OPTION>Dekoracje</OPTION>";
echo "<OPTION>Cukiernie</OPTION>";
echo "<OPTION>Podróże</OPTION>";


echo "</select><br>";


print "<INPUT TYPE=\"submit\" VALUE=\"Wyślij\">";

print "</FORM>";
}
?>

Re: [php] formularz pomocy

: sob maja 07, 2005 1:59 pm
autor: Asit
nie wczytywalem sie dokladnie ale wedlug mnie jak wysylasz cos z formularza metoda POST to potem pole 'nazwa' bedzie odbierana przez $_POST['nazwa'] a nie $nazwa.

nie działa

: ndz maja 08, 2005 11:12 am
autor: fizyk
słuchajcie nie działa, wykonałem dwa pliki jeden z formularzem, drugi ma wyswietlić tylko dane na stronie,

pierwszy:
<HTML>
<HEAD>
</HEAD>
<BODY>

<FORM ACTION="formik.php" METHOD=GET><B>Nazwa </B><BR>

<INPUT TYPE="Text" NAME="nazwa">

<INPUT TYPE="SUBMIT" VALUE="Wyslij">

</FORM>
</BODY>
</HTML>


drugi

<HTML>
<HEAD></HEAD>
<BODY>

<?
error_reporting(E_ALL);

if ($nazwa) {

print "twoja nazwa $nazwa";
}
else {
print "dane nie zostały przesłane";

}

?>
</BODY>
</HTML>

Formularz się wyświetla, wpisuje dane przechodzi do drugiego pliku i
wyświetla "dane nie zostały przesłane": dlaczego?, co źle robię?
pomóżcie, napiszcie poprawki czy co? będę wdzięczny, a z tym post to nie wiem o co chodzi..

jeszcze raz

: ndz maja 08, 2005 11:31 am
autor: fizyk
słuchajcie, a trzeba jakies inne skrypty dorzucać na konto, żeby formularze działały w php, na dysku mam php i wszystko mi działa, natomiast jak wrzucam skrypty najprostsze na serwer, który obsługuje php skrypty nie działają, wartości zmiennych nie sa przekazywane. jak juz wpisze dane do bazy danych to sa puste wartości.. co tu zrobić...

Re: [php] formularz pomocy

: ndz maja 08, 2005 1:24 pm
autor: Stig
Możliwe, że zmienne globalne są wyłączone. Przeczytaj uważnie poprzednie posty :twisted:.

Re: [php] formularz pomocy

: ndz maja 08, 2005 1:48 pm
autor: FanFataL
index.php

Kod: Zaznacz cały

<html>
<head></head>
<body>
<form action="form.php" method="post">
Wpisz swoje imie: <input type="text" name="name" /><br />
<input type="submit" value="Dalej" />
</form>
</body>
</html>
form.php
[php]<?php
error_reporting(E_ALL);
if(isset($_POST['name'])) {
echo 'Twoje imie to: '.$_POST['name'];
}
else {
echo 'FAILED !!';
}
?>[/php]

Poczytaj sobie to: http://pl.php.net/manual/pl/language.va ... ternal.php

Pozdrawiam :wink:
...

dzięki

: ndz maja 08, 2005 2:03 pm
autor: fizyk
pomogliscie mi dzieki, działa, teraz muszę to przerobić żeby działało z bazą danych, apropo jak włączyc zmienne globalne, abym mógł w przyszłości korzystać z takich metod jak wyżej..

dzięki :-D

Re: [php] formularz pomocy

: ndz maja 08, 2005 2:52 pm
autor: Stig
Nie poleca się włączania zmiennych globalnych. Ale jak już bardzo chcesz to w php.ini musisz zmienić wartość "register_globals" na "on".