Mysql wijzigen met de WhizzyWig editor!

Status
Niet open voor verdere reacties.
Wat gaat er verkeerd dan? Als dat duidelijk is kan daar ook naar gekeken worden :)

Ik neem aan dat je bij het bekijken van de pagina meteen een lijstje krijgt van nieuwsitems waar je op kunt klikken. Wanneer je daar op klikt moet het formulier verschijnen... Tot zover gaat dat allemaal of werkt dat ook niet.
 
Hmm ik heb geen wachtwoord dus kan ook niet kijken of het werkt...

Maak eens alleen de pagina edit.php en gooi daar deze code eens in.
PHP:
<?php 

//Ik weet niet wat deze bestanden gaan doen maar je zult de links waarschijnlijk aan moeten passen naar de goede locatie
include("../config.php"); 
require_once("../login.php"); 


// Connecting, selecting database 
$link = mysql_connect('localhost', 'mysql_database', 'wachtwoord') 
    or die('Could not connect: ' . mysql_error()); 
// echo 'Connected successfully'; 
mysql_select_db('mysql_databasel') or die('Could not select database'); 

//Controleren of het wel een getal is 
if(isset($_GET['id']) && is_numeric($_GET['id'])) 
{ 
  $nieuwsID = $_GET['id']; 
  if(isset($_POST['edit_page'])) 
  { 
    //Update query
    echo 'Als het goed is heb je nu op Wijzig gedrukt en krijg je deze pagina de zien.'; 
  } 
  else 
  { 
    $nieuwsQuery = "SELECT * FROM nieuws WHERE id='$nieuwsID'"; 
    $nieuwsResult = mysql_query($nieuwsQuery) or die (mysql_error()); 
      $nieuwsRow = mysql_fetch_array($nieuwsResult); 
      //Formulier weergeven met waardes 
      echo'<form method="post" action="?id='. $nieuwsID .'"> 
           <p>Titel van het nieuwsbericht:</p> 
           <input type="text" name="titel" size="80" value="'. $nieuwsRow['titel'] .'" /> 
           <p>Headline van het nieuwsbericht:</p> 
           <textarea name="headline" id="headline" style="width:95%; height:100px" > 
             '. $nieuwsRow['headline'] .' 
           </textarea> 
           <script type="text/javascript"> 
             buttonPath = "button/"; //directory holding button images 
             makeWhizzyWig("headline", "all"); 
           </script> 
           <p>Het Nieuwsbericht (inclusief headline):</p> 
           <textarea name="text" id="text" style="width:95%; height:200px" > 
             '. $nieuwsRow['text'] .' 
           </textarea> 
           <script type="text/javascript"> 
             makeWhizzyWig("text", "all"); 
           </script> 
           <input type="submit" name="edit_page" value="Wijzig nieuws" /> 
           <p>Als je plaatjes wil bijvoegen in het nieuwsbericht moet je eerst de plaatjes uploaden via het menuitem: "Plaatje Uploaden". Je krijgt hier dan een link die je kunt gebruiken in de editor.</p> 
         </form>'; 
  } 
} 
else 
{ 
  $query = "SELECT * FROM nieuws ORDER BY datum DESC LIMIT 0, 30"; 
  $result = mysql_query($query) or die('Query failed: ' . mysql_error()); 
  while ($line = mysql_fetch_array($result)) 
  { 
   echo '<a href="?id='. $line['id'] .'">'. $line['titel'] .'</a><br/>'; 
  } 
}   
?>

Vervolgens ga je naar www.zoetenzacht.nl/cms/edit.php en als het goed is hoort daar dan het lijstje je verschijnen
 
Laatst bewerkt:
Maar hij gaat wel naar http://www.zoetenzacht.nl/cms/edit.php?id=x? En x is inderdaad de juiste ID voor het nieuwsitem?

Probeer anders eens zonder de is_numeric(); in de eerste if-statement
PHP:
if(isset($_GET['id'])) //Dus zonder && is_numeric($_GET['id'])
{
  ///etc
 
Controleer even of er bij de eerste if statement wel
PHP:
$_GET['id']
staat en geen
PHP:
$GET['id']

Ik zie namelijk dat ik die fout heb gemaakt:o
 
okey, nu doet hij het gedeeltelijk... de editor is nog niet goed, maar dat komt wel... en nu nog opsplitsen in twee bestanden?? of?? En als ik de pagina koppel aan mijn menu item in het CMS dan werkt hij ook niet... :s 't is een beetje lastig... De knop bewerken linkt hierheen: http://www.zoetenzacht.nl/cms/?ac=edit dus naar edit.php, Deze opent dus het lijstje met nieuwsitems... maar klik ik op een nieuwsitem dat linkt hij naar: http://www.zoetenzacht.nl/cms/?id=7 maar dus niet meer met edit.php daarbij....

zo link ik in het menu: <li id="news_bewerken"><a href="?ac=edit" >Nieuws Bewerken</a></li>
 
Laatst bewerkt:
Nou als hij zo werkt en je moet ingelogd zijn om toegang te krijgen dan is het toch in orde?

Dan zou ik het gewoon zo laten.

Wat gaat er nog niet goed met de editor dan? Bij TinyMCE kan je gewoon de inhoud in het textarea weergeven en aan dat area koppelde je de editor...
 
okey, nu doet hij het gedeeltelijk... de editor is nog niet goed, maar dat komt wel... en nu nog opsplitsen in twee bestanden?? of?? En als ik de pagina koppel aan mijn menu item in het CMS dan werkt hij ook niet... :s 't is een beetje lastig... De knop bewerken linkt hierheen: http://www.zoetenzacht.nl/cms/?ac=edit dus naar edit.php, Deze opent dus het lijstje met nieuwsitems... maar klik ik op een nieuwsitem dat linkt hij naar: http://www.zoetenzacht.nl/cms/?id=7 maar dus niet meer met edit.php daarbij....

zo link ik in het menu: <li id="news_bewerken"><a href="?ac=edit" >Nieuws Bewerken</a></li>
 
Hij laad hem dus in in de pagina: index.php en daar laad ik ook het javascript voor die editor... dus als dat werkt, dan werkt ook de editor wel....
 
Zet bij het gedeelte van $ac=edit de code van edit.php nadat je in edit.php de links hebt aangepast waar ?id= staat daar zul je nu ?ac=edit&id=x van moeten maken...

Het gedeelte van javascript is niet helemaal duidelijk maar ik denk dat wanneer je het bij de index.php toevoegt zoals bovenstaande uitleg het javascript ook geladen wordt.
 
how, ik kan het niet volgen... moet ik nou wat in edit.php aanpassen?? of in index.php??
 
In edit.php zul je de links aan moet passen
Dat is het geval bij het formulier en ook in de while lus daar staat alleen ?id= maar daar moet je ?ac=edit&id= van maken.

Wanneer je dat hebt gedaan kopieer je de inhoud van edit.php en open je index.php

Daar ga je op zoek naar het gedeelte waar je $_GET['ac'] == edit hebt gedeclareerd. In dit deel plak je nu dus de code van edit.php.

Mocht je er nog niet uitkomen lijkt het mij handiger dat je de broncode van index.php hier plaatst.
 
Dit is mijn index.php... hiermee maak ik mijn CMS menu aan... en include ik home.php waar verder weinig tot niks in staat...

PHP:
<?php


  include("../config.php");
   require_once("../login.php");
  include ('log.php');
  include_once('../lang/'.$taal.'.php') ;


define('dir','../'.$datadir.'/content/');
if (isset($_GET['ac'])){
$pagina = $_GET['ac'];
}else{
$pagina = '' ;  
    }

    /*als de pagina niet is opgegeven dan is er een admin ingelogd en slaan we dat op*/

if (!isset($_GET['ac'])){
        
$buffer = "Admin loged in with ip adres : ".$_SERVER['REMOTE_ADDR']."\r\n";
$filename = '../'.$datadir.'/admin.log';
$handle = fopen($filename,'a'); 
if(fwrite($handle, $buffer))
{
fclose($handle);

    }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head><title> cms </title>

<script type="text/javascript" src="whizzywig.js"></script>
<script type="text/javascript" src="cms.js"></script>

<link href="stijl.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

        
        <style type="text/css">
               <!--
                   @import"stijl.css";
               -->


        </style>
        <!--[if gte IE 5.5]>
        <script language="JavaScript" src="dhtml.js" type="text/JavaScript"></script>
        <![endif]-->


</head> 

<body>
<div id="container">
	<div id="top"></div>
		<div id="main">
			<div id="leeg"></div>
			<?php
			//begin menu
			?>
			
			<div id="menu">
				<ul id="navmenu">
					<li id="home"><a href="?ac=home" >Home</a></li>
					<li id="news_bewerken"><a href="?ac=edit" >Nieuws Bewerken</a></li>
					<li id="news_nieuw"><a href="?ac=add_news" >Nieuws Toevoegen</a></li>
					<li id="column_bewerken"><a href="?ac=edit_column" >Column Bewerken</a></li>
					<li id="column_nieuw"><a href="?ac=add_column" >Column Toevoegen</a></li>
					<br /><br /><br />
					<li id="logoff"><a href="?logout=1" >Uitloggen</a></li>
					<li id="agenda_bewerken"><a href="?ac=edit_agenda" >Agenda Bewerken</a></li>
					<li id="agenda_nieuw"><a href="?ac=add_agenda" >Agenda Toevoegen</a></li>
					<li id="haakjes_nieuw"><a href="?ac=add_haakje" >Haakjes Toevoegen</a></li>
					<li id="uploaden"><a href="?ac=uploaden" >Plaatjes Uploaden</a></li>
					
				</ul>
			</div>

		<?php
		//einde menu
		?>

		<div id="content">
		<?php 
		if(empty($_GET['ac'])){
		    include('home.php');
		}else{
		include('./'.$_GET['ac'].'.php');
		}
		?> 
	</div>
	<div id="bottom"></div>
</div>
</body>
</html>
 
okey, ik ben weer wat verder... hij vraagt nu alles op, ik krijg alles in de editor... alleen... als ik op wijzig klik krijg ik wel de pagina met het zinnetje dat het gewijzigd is, maar het is nog niet gewijzigd... dus alles doet het alleen Update hij nog niet echt...
 
Nee dat klopt, als je niets aan mijn code hebt gewijzigd dan zul je dus zelf de query nog moeten invullen :)

Ik ga niet alles voorkauwen :D

Trouwens in de index.php kun je beter een switch gebruiken in plaats van het huidige if-statement... Wanneer ik nu een ?ac=blablablabla in typ krijg ik een error omdat hij "blablabla.php" niet kan includen :rolleyes:

PHP:
<div id="content">
<?php 
switch ($_GET['ac'])
{
  case "edit":
    include('./edit.php');
  break;
  default:
    //De standaard pagina wanneer de waarde van ac niet voorkomt in deze switch
    include('home.php');
  break
}
?> 
</div>

Dus bij elke nieuwe pagina doe je
PHP:
case "{naam van ac=}":
  include('{bestand}');
break;
Let wel op dat de default als laatste staat in de switch.
 
Ik dacht zelf zoiets:

PHP:
mysql_query("UPDATE nieuws SET titel='{.$nieuwsRow['titel'].} ' WHERE id={$_GET['id']}");

Maar dat doet dus niks... en anders zou het ook alleen de titel updaten...
 
Bijna...

PHP:
$updateQuery = "UPDATE nieuws SET 
                titel = '$_POST[titel]', 
                headline = '$_POST[headline]', 
                text = '$_POST[text]' 
                WHERE id='$nieuwsID'";
mysql_query($updateQuery) or die (mysql_error());
 
owkey, alles bij nieuws werk :thumb: :thumb:

Nu wou ik het zelfde doen met een column... probeer ik dit:
PHP:
<?php 

//Ik weet niet wat deze bestanden gaan doen maar je zult de links waarschijnlijk aan moeten passen naar de goede locatie
include("../config.php"); 
require_once("../login.php"); 


// Connecting, selecting database 
$link = mysql_connect('localhost', 'database', 'wachtwoord') 
    or die('Could not connect: ' . mysql_error()); 
// echo 'Connected successfully'; 
mysql_select_db('database') or die('Could not select database'); 
?>
<div id="edit_news">
<p> </p>
<p>Klik hieronder op de titel van een nieuws item om dit item aan te passen</p>
<?
//Controleren of het wel een getal is 
if(isset($_GET['id']))
{ 
  $nieuwsID = $_GET['id']; 
  if(isset($_POST['edit_page'])) 
  { 
    //Update query

$updateQuery = "UPDATE `column` SET 
                titel = '$_POST[titel]', 
                voorpagina = '$_POST[voorpagina]', 
                artikel = '$_POST[artikel]' 
                WHERE id='$nieuwsID'";
mysql_query($updateQuery) or die (mysql_error());  


  } 
  else 
  { 
    $nieuwsQuery = "SELECT * FROM `column` WHERE `id`='$nieuwsID'"; 
    $nieuwsResult = mysql_query($nieuwsQuery) or die (mysql_error()); 
      $nieuwsRow = mysql_fetch_array($nieuwsResult); 
      //Formulier weergeven met waardes 
      echo'<form method="post" action="?ac=edit_news&id='. $nieuwsID .'"> 
           <p>Titel van het nieuwsbericht:</p> 
           <input type="text" name="titel" size="80" value="'. $nieuwsRow['titel'] .'" /> 
           <p>Headline van het nieuwsbericht:</p> 
           <textarea name="voorpagina" id="voorpagina" style="width:95%; height:100px" > 
             '. $nieuwsRow['voorpagina'] .' 
           </textarea> 
           <script type="text/javascript"> 
             buttonPath = "button/"; //directory holding button images 
             makeWhizzyWig("voorpagina", "all"); 
           </script> 
           <p>Het Nieuwsbericht (inclusief headline):</p> 
           <textarea name="artikel" id="artikel" style="width:95%; height:200px" > 
             '. $nieuwsRow['artikel'] .' 
           </textarea> 
           <script type="text/javascript"> 
             makeWhizzyWig("artikel", "all"); 
           </script> 
           <input type="submit" name="edit_page" value="Wijzig nieuws" /> 
           <p>Als je plaatjes wil bijvoegen in het nieuwsbericht moet je eerst de plaatjes uploaden via het menuitem: "Plaatje Uploaden". Je krijgt hier dan een link die je kunt gebruiken in de editor.</p> 
         </form>'; 
  } 
} 
else 
{ 
  $query = "SELECT * FROM `column` ORDER BY `datum` DESC LIMIT 0 , 30"; 
  $result = mysql_query($query) or die('Query failed: ' . mysql_error()); 
  while ($line = mysql_fetch_array($result)) 
  { 
   echo '<a href="?ac=edit_column&id='. $line['id'] .'">'. $line['titel'] .'</a><br/>'; 
  } 
}   
?> 
</div>

maar dan gaat het fout... hij doet alles... maar hij update niet :S Wat gaat er fout??

Super bedankt voor je hulp!!! zonder jou was het nog niet gelukt!!!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan