Date verkeerd bij script dat nieuws toevoegd.
ik heb een probleem.
Ik ben een beginnende PHPer en heb een probleem met een bepaald script dat nieuws artikelen aan de database toevoegd, waarna de database ze weer op de nieuws pagina laat zien.
Elk nieuwsartikel dat ik plaats heeft als "Datum toegevoegd" Januari 1970. Ik heb geprobeerd de fout op te lossen maar kom er niet achter hoe het zit. Het sorteren van het nieuws heb ik op ID gedaan en niet op Date.
HIER KAN JE ZIEN WAT IK BEDOEL: http://www.voetbalkampioenschap.nl/nieuws.php
Dit is de code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php // dit is even om het tussen PHP tags te zetten in het forum, ik wist niet hoe het anders moest.
<HTML>
<HEAD>
<TITLE>Post News</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
[code]<?php
if (isset($addnews)):
?>
<FORM ACTION="<?php echo($PHP_SELF); ?>" METHOD=POST>
<p>Type the authors name here:<BR>
<input size="25" NAME="author">
<p>Type news title here:<BR>
<input size="25" NAME="newstitle">
<P>Type your news here:<BR>
<TEXTAREA NAME="newstext" ROWS=10 COLS=40 WRAP>
</TEXTAREA><BR>
<INPUT TYPE=SUBMIT NAME="submitnews" VALUE="SUBMIT">
</FORM>
<?php
else:
$dbcnx = @mysql_connect(
"xxxxx", "xxxx", "xxxxx");
if (!$dbcnx) {
echo( "<P>Unable to connect to the " .
"database server at this time.</P>" );
exit();
}
// the news database
if (! @mysql_select_db("xxxxx") ) {
echo( "<P>Unable to locate the news " .
"database at this time.</P>" );
exit();
}
date1 = date("D M Y G");
if ("SUBMIT" == $submitnews) {
$sql = "INSERT INTO News SET " .
"NewsText='$newstext', " .
"author='$author', " .
"NewsTitle='$newstitle',".
"NewsDate='$date1'";
if (mysql_query($sql)) {
echo("<P>Your news has been added.</P>");
} else {
echo("<P>Error adding submitted news: " .
mysql_error() . "</P>");
}
}
if (isset($deletenews)) {
$sql = "DELETE FROM News " .
"WHERE ID=$deletenews";
if (mysql_query($sql)) {
echo("<P>The news has been deleted.</P>");
} else {
echo("<P>Error deleting news: " .
mysql_error() . "</P>");
}
}
echo("<P> Here are all the news " .
"in our database: </P>");
$result = mysql_query(
"SELECT ID, NewsText FROM News");
if (!$result) {
echo("<P>Error performing query: " .
mysql_error() . "</P>");
exit();
}
while ( $row = mysql_fetch_array($result) ) {
$newsid = $row["ID"];
$newstext = $row["NewsText"];
echo("<P>$newstext " .
"<A HREF='$PHP_SELF?deletenews=$newsid'>" .
"Delete this News</A></P>");
}
echo("<P><A HREF='$PHP_SELF?addnews=1'>" .
"Add News!</A></P>");
endif;
?>
</BODY>
</HTML>
?>
<HTML>
<HEAD>
<TITLE>Post News</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
[code]<?php
if (isset($addnews)):
?>
<FORM ACTION="<?php echo($PHP_SELF); ?>" METHOD=POST>
<p>Type the authors name here:<BR>
<input size="25" NAME="author">
<p>Type news title here:<BR>
<input size="25" NAME="newstitle">
<P>Type your news here:<BR>
<TEXTAREA NAME="newstext" ROWS=10 COLS=40 WRAP>
</TEXTAREA><BR>
<INPUT TYPE=SUBMIT NAME="submitnews" VALUE="SUBMIT">
</FORM>
<?php
else:
$dbcnx = @mysql_connect(
"xxxxx", "xxxx", "xxxxx");
if (!$dbcnx) {
echo( "<P>Unable to connect to the " .
"database server at this time.</P>" );
exit();
}
// the news database
if (! @mysql_select_db("xxxxx") ) {
echo( "<P>Unable to locate the news " .
"database at this time.</P>" );
exit();
}
date1 = date("D M Y G");
if ("SUBMIT" == $submitnews) {
$sql = "INSERT INTO News SET " .
"NewsText='$newstext', " .
"author='$author', " .
"NewsTitle='$newstitle',".
"NewsDate='$date1'";
if (mysql_query($sql)) {
echo("<P>Your news has been added.</P>");
} else {
echo("<P>Error adding submitted news: " .
mysql_error() . "</P>");
}
}
if (isset($deletenews)) {
$sql = "DELETE FROM News " .
"WHERE ID=$deletenews";
if (mysql_query($sql)) {
echo("<P>The news has been deleted.</P>");
} else {
echo("<P>Error deleting news: " .
mysql_error() . "</P>");
}
}
echo("<P> Here are all the news " .
"in our database: </P>");
$result = mysql_query(
"SELECT ID, NewsText FROM News");
if (!$result) {
echo("<P>Error performing query: " .
mysql_error() . "</P>");
exit();
}
while ( $row = mysql_fetch_array($result) ) {
$newsid = $row["ID"];
$newstext = $row["NewsText"];
echo("<P>$newstext " .
"<A HREF='$PHP_SELF?deletenews=$newsid'>" .
"Delete this News</A></P>");
}
echo("<P><A HREF='$PHP_SELF?addnews=1'>" .
"Add News!</A></P>");
endif;
?>
</BODY>
</HTML>
?>
Ik hoop dat jullie mij kunnen helpen met het probleem van mijn site dat hij de datum verkeerd neerzet.
Alvast bedankt,
Viktor
Gewijzigd op 04/02/2011 10:28:04 door Chris -
De oplossing:
Gooi dit script weg.
Waarom?
- Structurele fouten.
- Oude dingen die niet meer werken.
- Beveiligingsgaten.
- Jou probleem.
- etc.
Als ik jou was zou ik nog even verder leren, dan kan je het zelf schrijven.
Ik heb dit stuk php geintegreerd met een Single User log in systeem zodat als ik inlog ik alleen vanaf daar nieuws kan plaatsen. Ook heb ik register.php weggehaald zodat alleen IK accounts kan aanmaken en niemand anders. Dus met die beveiliging zit het wel goed.
Ik wil alleen weten hoe ik die datum kan fixen dan is het goed.
Verplaatst naar categorie PHP Algemeen.
Viktor Schelling op 04/02/2011 00:22:29:
...
// dit is even om het tussen PHP tags te zetten in het forum, ik wist niet hoe het anders moest.
// dit is even om het tussen PHP tags te zetten in het forum, ik wist niet hoe het anders moest.
Zet je code tussen code tags:
[code][/code]
Ik moet de mensen boven mij gelijk geven. Gooi dit weg.
Je zegt dat dit voor school is.
Wat was de opdracht?
Gaat het misschien enkel over design, of gaat het om "Zorg dat het werkt; maakt niet uit hoe."?
Wat ze je op school moeten leren (daar heb je niet echt zelf iets over te zeggen ...), zijn de skills die je nodig hebt om zo-iets zelf te maken, maar dan deftig.
Hier ben je bezig met aanpassingen aan een slecht script.
Wat je vraag betreft:
1 januari 1970, middernacht (tijdszone: Greenwich) is het moment 0 voor de UNIX seconden.
Waar komt het op neer?
Dit:
geeft je exact het aantal seconden die verlopen zijn sinds dat moment 0.
Maar je gebruikt het niet zoals het hoort.
Wil je weten hoe dat werkt, vergeet dan even dit script en speel wat met tijdsberekeningen. Hier vind je wat documentatie en voorbeelden
http://php.net/manual/en/function.time.php
Gewijzigd op 04/02/2011 12:19:02 door Kris Peeters
date1 = date("D M Y G");
Een datum is in YYYY-MM-DD format.
Gebruik NOW() in de query.
Chris Horeweg op 04/02/2011 10:27:53:
@Karl; er is geen melding ontvangen?
Verplaatst naar categorie PHP Algemeen.
Verplaatst naar categorie PHP Algemeen.
Ik heb volgens mij ontzettend veel meldingen gedaan. Maar goed, ik geef weer de schuld aan freelancehulp.nl:
Wie kan Freelancehulp.nl omhoog gooien?.
Screenshot is gemaakt bij melding doen.