Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: System newsów...
Forum PHP.pl > Forum > Bazy danych > MySQL
Pele
Witam, podczas pisania systemu newsów napotkałem błąd... sad.gif
Gdy chce dodać rekord do bazy danych to nie dość, że w polu adresu pojawia mi się wszystko to co wpisałem do formularza to jeszcze nie dodaje się do bazy sad.gif
Co jest źle sad.gif
Oto kod:
[php:1:41385e5bfb]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>!System_newsów!</title>
<meta http-equiv="Content-Type" content="text/html; charset=$kodowanie">
<link rel="stylesheet" href="$styl">
</head>
<body>
<center>
<?
require('config.php');
function Menu() {
echo '<a href=?akcja=dodaj>Dodaj News</a> | ';
echo '<a href=?akcja=edytuj>Edytuj News</a> | ';
echo '<a href=?akcja=usun>Usun News</a> | ';
echo '<a href=?akcja=wyloguj>Wyloguj</a> | ';
echo '<a href=http://webdesign.li.pl>Strona Glówna</a><BR>';
}
if ($_GET['akcja'] == 'dodaj') {
echo 'Dodaj News<BR>';
if($send=='Wyslij') {
mysql_connect ("$adres","$login","$pass");
mysql_select_db ($baza);
$zapytanie = "INSERT INTO $tabela SET data='$data', nick='$nick', email='$email', tytul='$tytul', tresc='$tresc'";
$wykonaj = mysql_query ($zapytanie);
echo "<BR>News zosatl dodany!";
}
else {
echo '<form method="get" action="?akcja=dodaj">
<div align="center">
<center>
<table border="0" width="50%" bordercolorlight="#FFFFFF" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><font size="2" face="Verdana">Data (YYYY-MM-DD = 2003-12-25)</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="data" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Nick</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="nick" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">E-mail</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="email" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Tytul</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="tyutl" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Tresc</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="tresc" size="20"></font></td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><font size="2" face="Verdana"><input type="submit" value="Wyslij" name="send"><input type="reset" value="Kasuj" name="B2"></font></td>
</tr>
</table>
</center>
</div>
</form>';
}
}
else {
echo 'DUPAAA!';
}
?>
</center>
</body>
</html>
[/php:1:41385e5bfb]

:idea: HELP :idea:
scanner
Form method: GET wysyła wszystko poprzez URL
Form method: POST wysyła postem tongue.gif

Dodatkowo wysyłasz do bazy $nick zamiast $_POST['nick'] lub $_GET['nick'] (zalezy od form method).
Pele
ahha biggrin.gif Ok no ale teraz wyskakuje błąd:
Cytat
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:FoxServwwwnewsadmin_10.php on line 25

a kod wygląda tak:
[php:1:efd69348f3]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>!System_newsów!</title>
<meta http-equiv="Content-Type" content="text/html; charset=$kodowanie">
<link rel="stylesheet" href="$styl">
</head>
<body>
<center>
<?
require('config.php');
function Menu() {
echo '<a href=?akcja=dodaj>Dodaj News</a> | ';
echo '<a href=?akcja=edytuj>Edytuj News</a> | ';
echo '<a href=?akcja=usun>Usun News</a> | ';
echo '<a href=?akcja=wyloguj>Wyloguj</a> | ';
echo '<a href=http://webdesign.li.pl>Strona Glówna</a><BR>';
}
if ($_GET['akcja'] == 'dodaj') {
echo 'Dodaj News<BR>';
if($send=='Wyslij') {
mysql_connect ("$adres","$login","$pass");
mysql_select_db ($baza);
$zapytanie = "INSERT INTO $tabela SET data='$_POST['data']', nick='$_POST['nick']', email='$_POST['email]', tytul='$_POST['tytul']', tresc='$_POST['tresc']'";
$wykonaj = mysql_query ($zapytanie);
echo "<BR>News zosatl dodany!";
}
else {
echo '<form method="POST" action="?akcja=dodaj">
<div align="center">
<center>
<table border="0" width="50%" bordercolorlight="#FFFFFF" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><font size="2" face="Verdana">Data (YYYY-MM-DD = 2003-12-25)</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="data" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Nick</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="nick" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">E-mail</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="email" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Tytul</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="tyutl" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Tresc</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="tresc" size="20"></font></td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><font size="2" face="Verdana"><input type="submit" value="Wyslij" name="send"><input type="reset" value="Kasuj" name="B2"></font></td>
</tr>
</table>
</center>
</div>
</form>';
}
}
else {
echo 'DUPAAA!';
}
?>
</center>
</body>
</html>
[/php:1:efd69348f3]
rolleyes.gif
track
ja proponuje.

jak wykonujesz zapytania typu

$ask = "UPDATE $tabela SET data = '$_POST[data]' WHERE warunek = '1' ";

widzisz roznice? jak wpisujesz informacje uzywaj $_POST[data] a nie $_POST['data'] Ja tak robie i wszystko pieknie dziala.

Mam nadzieje, ze zrozumieles co mam do przekazania smile.gif

Pozdrawiam...
Pele
Tak zrozumiałem i tak zrobiłem...ale :]
Dalej mi się to do paska adresu dopisuje laugh.gif co jest :?:
scanner
track: Kłamiesz.

Twoje [costam] działa tylko dlatego, że php traktuje costam jako stałą. A skoro stała jest niezdefiniowana, zatem prtzyjmuje za jej wartość - nazwę.

Prawidłowym jest pisanie ['costam'].

Linia 25:

[php:1:d61d2f9935]<?php
$zapytanie = "INSERT INTO $tabela (data, nick, email, tytul, tresc) VALUES ('".$_POST['data']."', '".$_POST['nick']."', '".$_POST['email']."', '".$_POST['tytul']."', '".$_POST['tresc']."'";
?>[/php:1:d61d2f9935]
Pele
sad.gif
qpa (za przeproszeniem...)
gdy dodaje newsa wysiwetla się strona "403 Forbidden"
Cytat
Forbidden
You don't have permission to access /"/ on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


--------------------------------------------------------------------------------

Apache/2.0.39 Server at 127.0.0.1 Port 80


i pasek adresu się robi taki:
Cytat

rolleyes.gif Co jest grane?questionmark.gif? angrysmiley.gif angrysmiley.gif
scanner
Masz
Kod
<form methoid="post" ... >
questionmark.gif
Zastanawiam się nad walniętym Apachem lub PeHaPem - czy inne formularze działają?
Pele
miałem:
Kod
<form method="post" ...>

mam:
Kod
<form method="post"...>

I teraz niby jest ok, ale nie dodaje mi rekordów :/
Tak samo jest z innym scryptem... może to wina bazy... dzisiaj wieczór sprawdze na innym serwie i napisze tu czy działa winksmiley.jpg
Pele
Ok działa smile.gif (poprostu u mnie coś było nie tak:/)
Dodaj rekord do bazy smile.gif ale teraz problem... wyświetlanie.... zrobiłem to tak:
[php:1:5da3f2a161]
<html>
<head>
<title>_System newsów_</title>
</head>
<body>
<?php

mysql_connect ("$adres","$login","$pass");
mysql_select_db ($baza);

$zapytanie = "SELECT * FROM $tabela";
$wykonaj = mysql_query($zapytanie) or die(mysql_error());
while($x=mysql_fetch_array($wykonaj)) {
echo("<table border="1" width="50%" cellspacing="0" cellpadding="0" bordercolorlight="#000000" align="center">");
echo("<tr>");
echo("<td width="50%" bgcolor="#C0C0C0">");
echo("<p align="center"><b><font size="2">".$x['tytul']."</font></b>");
echo("</td>");
echo("</tr>");
echo("<td width="50%">Dodal: <a href="mailto:".$x['email']."">".$x['nick']."</a> - ".$x['tytul']."</td>");
echo("<tr>");
echo("<td width="50%">".$x['tresc']."</td>");
echo("</tr>");
echo("</table>");
}
?>
</table>
</body>
</html>
[/php:1:5da3f2a161]
Ale wyświetla się taki oto komunikat:
Cytat
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

Co jest? rolleyes.gif
scanner
Masz wyłączonego MySQL'a
uboottd
Albo bledy w konfiguracji.
Pele
Baza jest włączona, bo niby jak inaczej mógłbym dodać rekordy?
A co może być źle w konfiguracji??
RobinHood
może spróbój ustawić zmienne globalne
jeżeli dane trzymasz w pliku config.cfg
[php:1:9d200329d0]include('config.cfg');
global $adres, $login, $pass;[/php:1:9d200329d0]

nie zakładam, że jest dobrze, ale możesz spróbować...
Pele
niestety nic nie pomogło, błąd przy wyświetlaniu jest nadal ten sam sad.gif
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.