Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodawanie rekordów - problem!
Forum PHP.pl > Forum > Bazy danych > MySQL
zyweriusz
Opiszę mój problem jeszcze raz. Próbuję nauczyć się dodawania rekordów do bazy. Nic trudnego ..., ale - nie mogę ich dodać z poziomu WWW. Na początku myślałem, że robię to źle. Poszukałem mnóstwo skryptów na forum: panele administracyjne, pojedyncze kody i nic, zastosowałem kody z książek - nic. Więc zaczęła rodzić się we mnie myśl, że może to z konfiguracją Apache, SQL-a czy czegoś tam (na przykład zły dzień Bila) jest związane - odinstalowałem, zainstalowałem. Też nic.
Wszystko działa niby w porządku z poziomu wiersza poleceń, phpMyAdmin, ale z prostego WWW, dla potencjalnego klienta, nie chce.
Teraz przedstawie kod, który tworzy tabelę z pustymi rekordami, nie przekazuje tekstów wpisanych w formularzu. Ten kod powstał przy udziale forumowiczów kilka dni temu. A ja nadal siedzę, zamieniam . ' " - i nic.
Może ktoś miał podobny problem, a może to tylko moja niewiedza...
Wszelka pomoc pilnie poszukiwana ...
[php:1:b2c589d230]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>Add Event</title>
</head>
<body>
<font size="+2"><b>Add Event</b></font><br><br>
<?php
if ($_POST['action'] == "add") {
$host = "localhost";
$user = "janusz";
$haslo = "zywert";
$baza = "phpforflash";
$table = "events";
$id = mysql_connect($host, $user, $haslo);
if (!mysql_select_db($baza, $id)) echo mysql_errno($id) . ": " .
mysql_error($id). "n";
$query = "INSERT INTO ".$table." (year, month, day, title, event) VALUES ('".$year."', '".$month."', '".$day."', '".$title."', '".$event."')";
if (!$wynik = mysql_query($query)) echo mysql_errno($id) . ": " .
mysql_error($id). "n";
}
?>
<form action="test.php" METHOD="post">
<table border="1" cellspacing="2" cellpadding="3">
<tr>
<td>Date</td>
<td><input type="text" name="day" size="50"></td>
</tr>
<tr>
</tr>
<td>Month</td>
<td><input type="text" name="month" size="50"></td>
</tr>
<tr></tr>
<td>Year</td>
<td> <input type="text" name="year" size="50"></td>
</tr>
<tr>
<td>Title</td>
<td><input type="text" name="title" size="50"></td>
</tr>
<tr>
<td>Event</td>
<td><textarea name="event" cols="50" rows="5"></textarea></td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="action" value="add">
<input type="submit" value="Wyślij">
</td>
</tr>
</table>
</form>
</body>
</html>
[/php:1:b2c589d230]
sobstel
wrzuc przed wykonaniem zapytania taka instrukcje :
np. echo"year = $year";
wtedy zobaczysz czy ma w ogole jakas wartosc

moze masz register_globals wylaczone? sprobuj zamiast 'normalnych' zmiennych uzyc globalnych tj. zamiast $year to $_POST["year"], zamiast $month $_POST["month"], itp.

jakby bylo cos nie tak z konfiguracja to by zapewne wyskakiwal jakis blad. tutaj ewidentnie wyglada, ze zmiennie maja puste wartosci...
zyweriusz
No tak echo "year = $year" to oczywiście year = ...
Natomiast $_POST["year"] wstawiałem rozmaicie i nic.
Jak sprawdzić register_globals jest wyłączone i o czym ono decyduje?
zyweriusz
No tak - taka prosta sprawa, a tyle godzin zmarnowanych.
Poczatki są beznadziejnie głupie.
register_global=On
tak trzymac
!
sobstel
ze wzgledow bezpieczenstwa osobiscie polecam jednak uzywac register_globals = off i zmienne w ten sposob $_POST["nazwa_zmiennej"]. sprawsz to w ten sposob dokladnie jeszcze, dziwi mnie ze nie dzialalo...
zyweriusz
Tak $_POST["year"] zadziałał na register_global=Off.
A jak to jest na serwerach, czy tam jest dostęp do php.ini i jakie sa ustawienia standartowe?
sobstel
do php.ini zazwyczaj dostepu nie masz. od php 4.2.0 register_globals jest domyslnie wylaczone. zmienne globalne tj $_POST, $_GET i inne dzialaja od wersji 4.1.0 (nawet z wlaczonym register_globals) albo ktorejs wczesniejszej nawet (nie pamietam dokladnie). serwery raczej maja nowsze wersje php, wiec radze pisac od razu z $_POST.

więcej tutaj : [manual:4568fe8fc5]register_globals[/manual:4568fe8fc5]
zyweriusz
Dziekuje
Wreszcie - po kilku dniach przeklinania stało się :-)
Działa
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.