login  Naam:   Wachtwoord: 
Registreer je!
 Forum

nieuwssysteem edit pagina

Offline kickasgamer - 17/02/2007 22:20
Avatar van kickasgamerPHP ver gevorderde ik ben bezig aan een neiuwssysteem en nu wil ik ook een edit pagina maken voor het nieuws en nu heb ik dan ook een vraagje hoe kan ik die pagina het beste maken ? kan ik het beste laten kiezen uit een lijst en/of een edit link je bij een ebricht zetten, dit is wat ik tot nu toe heb.

  1. <?php
  2. include('inlcude/connect.php');
  3.  
  4. $connect = mysql_connect($host, $user, $pass) or die(mysql_error());
  5.  
  6. $query = "SELECT * FROM kag_nieuws";
  7. $res = mysql_query($query) or die(mysql_error());
  8.  
  9. while ($row = mysql_fetch_row($res)){
  10. $titel = $row[0];
  11. $bericht = $row[1];
  12. $bron = $row[2];
  13.  
  14. ?>

alvast bedankt

11 antwoorden

Gesponsorde links
Offline Voldemort - 17/02/2007 22:24 (laatste wijziging 17/02/2007 22:25)
Avatar van Voldemort PHP ver gevorderde Ik doe het zo (en dit is geloof ik ook de beste methode):

overzicht.php
Toon alle nieuwsberichten. Je kan dit eventueel opsplitsen met een paginasysteem. Zet dan linkjes naar: edit.php?id=HIER_HET_ID_UIT_DE_DB

edit.php
Controleer of $_GET['id'] bestaat en een nummer is. Zoja is alles goed. Dan kan je het desbetreffende nieuwsbericht uit de database halen en dit dan in een formulier plaatsen dat na het verzenden een UPDATE uitvoert met de dingen uit het formulier. Beveilig wel je $_POST waarden na het verzenden of men kan SQL-injection toepassen.
Offline AgentX - 18/02/2007 09:25
Avatar van AgentX HTML beginner hoe zou je kunnen checken of het een nummer is dan?
is_number() ofzo?

en hoe kan je die $_POST beveiligen (voorbeeldje)?
Offline kickasgamer - 18/02/2007 09:34 (laatste wijziging 18/02/2007 10:41)
Avatar van kickasgamer PHP ver gevorderde maar het is opzich niet zo veilig dat je onder elk nieuws bericht want dat kan iedereen aan die edit pagina, maar zo controlleren via die id in de url zie ik wel zitten, maar juist hoe ik aan die edit pagina gakomen.

misschien kan ik ook op edit.php een dropdown list met alle id's en dan een link met een id in en dan editten, zou dat ook goed zijn ?

EDIT1: ik ben er aan begonnen, ik hb nu een selectie pagina en een pagina waarin de content wordt weer gegeven, maar in de text area bericht wordt niet de tekst die in bericht staat weer gegeven 

selecteer.php: http://www.plaatscode.be/4244/
bewerken.php: http://www.plaatscode.be/4243/

de verwerking van bewerken.php moet ik nog maken ;)

Offline Nanon - 18/02/2007 10:39
Avatar van Nanon PHP interesse @AgentX,

Om te controleren of een opgegeven character numeriek is kan je is_numeric(); gebruiken.

Bijvoorbeeld:
  1. <?php
  2.  
  3. if( isset( $_GET['id'] ) AND is_numeric( $_GET['id'] ) )
  4. {
  5. // script
  6. }
  7.  
  8. ?>


$_POST() gegevens kan je beveiligen door het oldskool addslashes() te gebruiken.

Bijvoorbeeld:
  1. <?php
  2.  
  3. $onderwerp = addslashes($_POST['onderwerp');
  4.  
  5. ?>


Maar ik zie steeds vaker dat mensen ook mysql_real_escape_string(); vaak gebruiken.

  1. <?php
  2.  
  3. $onderwerp = mysql_real_escape_string( $_POST['onderwerp'] );
  4.  
  5. ?>


Zoveel weet ik namelijk nog van deze functie ( mysql_real_escape_string(); ).
Offline kickasgamer - 18/02/2007 10:41
Avatar van kickasgamer PHP ver gevorderde ik ben er aan begonnen, ik hb nu een selectie pagina en een pagina waarin de content wordt weer gegeven, maar in de text area bericht wordt niet de tekst die in bericht staat weer gegeven 

selecteer.php: http://www.plaatscode.be/4244/
bewerken.php: http://www.plaatscode.be/4243/

de verwerking van bewerken.php moet ik nog maken ;)

Offline Nanon - 18/02/2007 10:57 (laatste wijziging 18/02/2007 11:03)
Avatar van Nanon PHP interesse Laat maar, heb het al voor je gevonden;

  1. <textarea name="bericht" rows="7" cols="100" value="<?=$bericht?>"/></textarea>


moet worden:
  1. <textarea name="bericht" rows="7" cols="100" /><?=$bericht?></textarea>


Bij textfields kan je ze altijd in de value zetten, bij textarea's moet je ze tussen <textarea> </textarea> zetten 
Offline kickasgamer - 18/02/2007 11:01
Avatar van kickasgamer PHP ver gevorderde ja wel toch value="<?=$bericht ?>"
Offline roelh - 18/02/2007 12:27
Avatar van roelh PHP gevorderde je hebt:

Nog VOOR dat ej alles uitleest, is dat wel geod?
Offline kickasgamer - 18/02/2007 14:21 (laatste wijziging 18/02/2007 15:04)
Avatar van kickasgamer PHP ver gevorderde ja dat moet ik verplaatsen maar had niks te maken met dat ik de tekst er niet kreeg, dat lag aan dat ik deed value="<?=$bericht ?>" maar het moest zijn tussen de <text area> <?=$bericht?> </text area>

EDIT: een vraagje bestaat er een functie om nl2br() om te keren, want ik sla het bericht opmet nl2br om dat het dan enters enz om zet in html, maar als ik dan mijn pagina edit dan staan die br's daar weer
Offline Nanon - 18/02/2007 18:25 (laatste wijziging 18/02/2007 18:29)
Avatar van Nanon PHP interesse Je zegt zelf al waar de fout zit. Je bericht niet opslaan met nl2br();
nl2br(); zou ik dan gebruiken waarneer je bericht ophaalt uit de database.
Offline Dark_Paul - 18/02/2007 18:33
Avatar van Dark_Paul PHP ver gevorderde PHP.net: addslashes
bij het invoeren
PHP.net: stripslashes icm
PHP.net: htmlentities
bij het weergeven.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.223s