Nieuws systeem script

Praat mee over van alles en nog wat!
Forumregels
Dit forum is voor alle zinnige gesprekken buiten phpBB om. Discussies en gesprekken over interessante onderwerpen.

Een nieuw onderwerp moet..:
  • uiteraard voldoen aan de algemene voorwaarden
  • niet passen in de gewone supportfora
  • interessante zijn voor het overgrote deel van onze gebruikers
  • een neutrale of positieve ondertoon hebben
  • anders zijn dan bestaande onderwerpen
Plaats reactie
Daan
Berichten: 1060
Lid geworden op: 22 jun 2006, 19:59
Locatie: Nijmegen

Nieuws systeem script

Bericht door Daan » 10 feb 2007, 19:17

Hoi,

Ik ben bezig met een script te maken om nieuwsberichten te kunnen posten (niet voor phpbb)
Het script werkt redelijk alleen kan ik in het admin.php nog geen berichten wijzigen en verwijderen. Ik weet niet hoe ik dat moet doen. Kan iemand mij helpen??

Code: Selecteer alles

<?php
$dbnaam="";     // Database Naam
$dbuser="";     // Database Gebruiker
$dbserver="";     // Database Server; localhost is goed
$dbpass="";     // Databsae Wachtwoord
$datum=date("D-m-y");

$conn = mysql_connect($dbserver, $dbuser, $dbpass, $dbnaam)
   or die("Sorry, we konden geen verbinding maken met de database: " . mysql_error());

$DbSelect = mysql_select_db($dbnaam, $conn)
   or die("Sorry, we konden niet met die database verbinden. " . mysql_error());
   
if(count($_POST) > 0) {  
mysql_query("INSERT INTO nieuws (auteur, titel, bericht, datum)VALUES ('". htmlentities($_POST['naam']) ."', '". htmlentities($_POST['naam']) ."', '". htmlentities($_POST['bericht']) ."', '".date('Y-m-d H:i:s') ."')");   
    header('Location: nieuwssysteem.php');
}

$result = mysql_query("SELECT auteur, datum, bericht, titel, Ipadres FROM nieuws")
   or die("Sorry, de query was niet goed: " . mysql_error());
?>     
<html>
<head>
<title> Nieuwssysteem </title>
</head>
<body>
<h3>Nieuwsberichten </h3>
<hr />
<a href="/nieuwssysteem.php"> Ga terug </a><br /> <? // verander dit wanneer de locatie anders is! ?>
<h4>Hier kun je berichten toevoegen in het nieuwssysteem. Let op! Gebruik geen HTML of andere opmaakcode, deze is uit veiligheid uitgeschakeld uit het systeem.</h4><br /><br />
<form method=post>
Je naam: &nbsp; <INPUT NAME="naam" SIZE="30"><br />
Je titel: &nbsp; <INPUT NAME="titel" SIZE="30"><br />
Je bericht: <TEXTAREA NAME="bericht" ROWS=4 COLS=40></TEXTAREA><br />
<INPUT TYPE=submit VALUE="Verzenden"><INPUT TYPE=reset VALUE="Reset">
</form>
<hr />
<? while ( $row = mysql_fetch_row($result) ) { ?>
Auteur:&nbsp;<?=$row[0]?><br />
Datum:&nbsp;<?=$row[1]?><br />
Titel:&nbsp;<b><?=$row[3]?></b><br />
Bericht:&nbsp;<?=$row[2]?><br />
<br/><? } ?>
<h6>Copyright 2007 Daan Janssen</h6>
</body>
</html>
<?
Mysql_close($conn);
?>

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 10 feb 2007, 19:21

ehm, het is niet echt veilig, denk aan SQL injection, XSS enz.

Daan
Berichten: 1060
Lid geworden op: 22 jun 2006, 19:59
Locatie: Nijmegen

Bericht door Daan » 10 feb 2007, 19:24

Dat weet ik, het is mijn 1e script met mysql, dus het is nog een beetje alles proberen enzo. Verder is dit wel admin.php en word deze ook nog beveiligd met een inlogscript

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 10 feb 2007, 19:27

Ow, dan is veiligheid niet belangerijk als het je eerste script is? :roll:

Daan
Berichten: 1060
Lid geworden op: 22 jun 2006, 19:59
Locatie: Nijmegen

Bericht door Daan » 10 feb 2007, 19:28

Nee, dat zeg ik niet, maar ik weet niet hoe je het anders meot doen.

Epox
Berichten: 549
Lid geworden op: 15 feb 2004, 19:26
Locatie: Eindhoven
Contacteer:

Bericht door Epox » 10 feb 2007, 20:39

Daan schreef:Nee, dat zeg ik niet, maar ik weet niet hoe je het anders meot doen.
:arrow: http://www.computerboek.nl/boekeninfo.a ... ID=NHP_ext
éépoks

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Bericht door svenn » 10 feb 2007, 21:20

kwa veiligheid vind ik dit wel een goed artikel : http://phpfreakz.nl/artikelen.php?aid=106

Ik zou nooit een boek kopen. Dat lees je toch niet :p

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 10 feb 2007, 21:26

svenn schreef:kwa veiligheid vind ik dit wel een goed artikel : http://phpfreakz.nl/artikelen.php?aid=106

Ik zou nooit een boek kopen. Dat lees je toch niet :p
Ow, hoe heb ik dan php geleerd?

Gebruikersavatar
Ramon Fincken
Berichten: 2552
Lid geworden op: 27 nov 2005, 23:15
Locatie: Diemen
Contacteer:

Bericht door Ramon Fincken » 10 feb 2007, 22:25

:!: Heren, houd het ontopic en gezellig !

Daan weet nu dat het misschien niet het veiligste script is, en als je wil helpen waarom niet?

Voor een leuke babbel over hoe je PHP of phpbb leert open je maar een nieuw topic in de Lounge :)
Freelance webdevelopment, including phpbb2 scripting!

Website founder van: phpBBinstallers.net phpBBantispam.com
Mods: zie op http://www.phpbb.com Blog in wording: RamonFincken.com

Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Bericht door Salomon » 11 feb 2007, 10:45

Ik heb ook een script (redirect) alleen de volgende functie:

Code: Selecteer alles

function redirect() {
	$if_exists = dba_exists($l) or die("<html>\n<head>\n<title>Redirecting failed</title>\n</head>\n<body>\nDe opgegeven URL is onjuist.\n</body>\n</html>");
	if ($if_exists) {
		return true;
	}
	else {
		return false;
	}
}
Geeft de volgende fout:

Code: Selecteer alles

Fatal error: Call to undefined function dba_exists() in D:\Program Files\Xampp\xampp\htdocs\zend\redirect.php on line 15
Lijn 15:

Code: Selecteer alles

$if_exists = dba_exists($l) or die("<html>\n<head>\n<title>Redirecting failed</title>\n</head>\n<body>\nDe opgegeven URL is onjuist.\n</body>\n</html>");
Functie bestaat echter wel:
http://nl2.php.net/dba_exists

Gebruikersavatar
Bas
Berichten: 2741
Lid geworden op: 02 dec 2003, 17:38
Locatie: Omgeving Goslar (Duitsland)
Contacteer:

Bericht door Bas » 11 feb 2007, 10:51

Dit is voor Berkeley DB-databases, en werkt alleen als de goede php-extensie geladen is. O, en het zal niet werken met MySQL ;)

Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Bericht door Salomon » 11 feb 2007, 11:05

Hoe kan je dit doen met MySQL?

Daan
Berichten: 1060
Lid geworden op: 22 jun 2006, 19:59
Locatie: Nijmegen

Bericht door Daan » 11 feb 2007, 11:09

svenn schreef:kwa veiligheid vind ik dit wel een goed artikel : http://phpfreakz.nl/artikelen.php?aid=106

Ik zou nooit een boek kopen. Dat lees je toch niet :p
Bedankt voor de link, ik ben het nu aan het lezen.

Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Bericht door Salomon » 11 feb 2007, 11:16

Ik ook, goed artikel :)

Daan
Berichten: 1060
Lid geworden op: 22 jun 2006, 19:59
Locatie: Nijmegen

Re: Nieuws systeem script

Bericht door Daan » 12 feb 2007, 18:31

Daan schreef:Hoi,

Ik ben bezig met een script te maken om nieuwsberichten te kunnen posten (niet voor phpbb)
Het script werkt redelijk alleen kan ik in het admin.php nog geen berichten wijzigen en verwijderen. Ik weet niet hoe ik dat moet doen. Kan iemand mij helpen??

Code: Selecteer alles

* knip
zie bovenaan topic 
Terugkomend op mijn vraag, hoe doe ik dit?

Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Bericht door Salomon » 12 feb 2007, 18:59

Dit lukt beter als je een id meegeeft, en die als primary key gebruikt.
Dan kan het volgende:
$sql = "DELETE * FROM `nieuws` WHERE `id` = " . (int) $id;
Laatst gewijzigd door Salomon op 12 feb 2007, 19:30, 1 keer totaal gewijzigd.

Daan
Berichten: 1060
Lid geworden op: 22 jun 2006, 19:59
Locatie: Nijmegen

Bericht door Daan » 12 feb 2007, 19:01

Oke, het nieuws krijgt nu al in de database automatisch een ID mee. Maar waar en wat moet ik dan in de code zetten.. Dit is erg nieuw voor mij.

Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Bericht door Salomon » 12 feb 2007, 19:30

Als je een nieuwsbericht selecteer, selecteer je ook het id
Die kan je dan opslaan in de variabele $id.

Daan
Berichten: 1060
Lid geworden op: 22 jun 2006, 19:59
Locatie: Nijmegen

Bericht door Daan » 12 feb 2007, 19:56

Oke, maar ik kan geen bericht selecteren. ik zie dus gewoon:

Nieuwsberichten
--------------------------------
[ hier formulier ]
--------------------------------
[ hier berichten ]

meer niet

Daan
Berichten: 1060
Lid geworden op: 22 jun 2006, 19:59
Locatie: Nijmegen

Bericht door Daan » 15 feb 2007, 12:49

BUMP

Plaats reactie