Tutorial script

Status
Niet open voor verdere reacties.

wouter54321

Gebruiker
Lid geworden
24 mei 2008
Berichten
218
Hallo,

Ik zoek een script met of zonder mysql mag met txt bestand waarmee je een tutorial kan toevoegen.
Liefst per categorie: HTML CSS PHP PHP en Mysql Mysql
En dat je het ook in categoriën kan bekijken.

Greetz
 
Dat is wel al een vrij groot script, en hoe moet het er net uitzien, ik veronderstel dat iedere tutorial een tittel moet hebben?

Mischien ga ik straks wat in elkaar flansen, dat hangt er vanaf of ik tijd heb...
 
Ja, iedere tutorial moet een titel hebben.
Heel erg bedankt als je dit zou willen doen!!!
 
Hier is het, het bestaat uit 2 bestanden, namelijk index.php en nieuw.php, ik maak ook gebruik van een mysql database, die maak je ongeveer zo aan:

CREATE TABLE `tutorials` (
`onderw` varchar(10) NOT NULL,
`id` int(5) NOT NULL auto_increment,
`titel` varchar(25) NOT NULL,
`inhoud` varchar(250) NOT NULL,
`datum` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

index.php

Code:
<html>
<head>
<title>Tutorials</title>
</head>
<body>
<?php
mysql_connect("localhost", "naam", "pas");
mysql_select_db("naam");

$get=$_GET['tutorial'];
if ($get!='html' && $get!='css' && $get!='php' && $get!='mysql'){
?>
<a href="index.php?tutorial=html">html</a><br />
<a href="index.php?tutorial=css">css</a><br />
<a href="index.php?tutorial=php">php</a><br />
<a href="index.php?tutorial=mysql">mysql</a><br />
<?php
}
else{
$id=$_GET['id'];
if (!isset($id)){
?>
<center><h1><b><?php echo $get; ?></b></h1>
<table width="50%" border="1">
<tr><td>titel</td><td>datum</td></tr>
<?php
$res = mysql_query("SELECT titel, datum, id FROM tutorials WHERE onderw = '".$get."'");
while ($obj = mysql_fetch_assoc($res)) { 
echo '<tr>';
echo '<td> <a href=index.php?tutorial=';
echo $get;
echo '&&id=';
echo $obj['id'];
echo '>';
echo $obj['titel'];
echo '</a></td>';
echo '<td>';
echo $obj['datum'];
echo '</tr>';
echo '</tr>';
}
mysql_free_result($res); 
?>
</table>
<br /><br />
<a href="nieuw.php?tutorial=<?php echo $get; ?>">Nieuwe tutorial inzenden</a>
</center>
<?php
}
else{
$res = mysql_query("SELECT * FROM tutorials WHERE id=".$_GET['id']."");
while ($obj = mysql_fetch_assoc($res)) {
?>
<center><h1><b><?php echo $obj['titel']; ?></b></h1></center>
<?php
echo $obj['inhoud'];
}
}
}
?>
</body>
</html>

nieuw.php

Code:
<html>
<head>
<title>nieuwe tutorial</title>
</head>
<body>
<?php
$get=$_GET['tutorial'];
if(!isset($get)){
echo "Er is iets fout";
}
else{
  $titel=$_POST['titel'];
  $bericht=$_POST['bericht'];
  if(isset($titel)){
mysql_connect("localhost", "naam", "pas");
mysql_select_db("naam");
    $query="INSERT INTO tutorials (titel, inhoud, datum, onderw) VALUES
                                  ('".$titel."', '".$bericht."', now(), '".$get."')";  
    mysql_query($query) or die (mysql_error()); 
    echo "tutorial is opgeslagen";
  }
else{
?>
<form method="post" action="nieuw.php?tutorial=<?php echo $get; ?>">
  <form method="post" action="nieuw.php?tutorial=<?php echo $get; ?>">
  <table>
  <tr><td>titel:</td><td><input type="text"  name="titel" /></td></tr>
  <tr><td>inhoud:</td><td><textarea name="bericht"  rows="25"  cols="50"></textarea></td></tr>
  </table>
  <input type="submit" value="Verzenden" name="verzenden" />
  </form>
  <?php
}
}
?>
</body>
</html>

Natuurlijk is er hier geen opmaak en ook wordt er niet gecontroleerd of de velden leeg zijn, of gecontroleert op php/html codes.
Het is ook handig als je BB-codes inwerkt zeker als je een tutorial over bv php maakt je een code kunt hig-lichten.
 
Laatst bewerkt:
Heel erg bedankt voor je script,
maar ik had nog één vraagje:
bij de inhoud van de tutorials worden de script niet voorgestelds als html en php enz.
maar zoals ze echt zijn.
Kan je dit nog verhelpen?
 
hij bedoelt dat ze als php code word getoont zoals hier als je met de tags gaat werken ze opkleuren enz... ik weet niet hoe dat gaat maar mischien dat iemand anders dat weet
 
Je hebt een tag die codes strip: strip_tags(), die gebruik je zo: strip_tag ($bericht); die moet je dan gebruiken voor je je tutorial in een database steekt, om te higlichten gebruik je de functie highlight_file(), maar dan ga je best een apparte functie maken bv bb.php, ik ga er ook meteen BB-codes bijzetten:

Code:
<?php

/* UBB SCRIPT © TOPPE! */
    /*   VERSION V1 BETA   */
   
    function strip($input){
        $return = stripslashes(htmlspecialchars($input));
    return $return;
    }
   
    function lengte($input, $lengte){
        if(strlen($input) > $lengte){
            $input = substr($input,0,17)."...";
        } else {
            $input = $input;
        }
    return $input;
    }
   
   
    function opmaak($input){
      $input = strip($input);
        $input = preg_replace('!\[b\](.*?)\[/b\]!', "<b>\\1</b>", $input);
        $input = preg_replace('!\[u\](.*?)\[/u\]!', "<u>\\1</u>", $input);
        $input = preg_replace('!\[i\](.*?)\[/i\]!', "<i>\\1</i>", $input);
        $input = preg_replace('!\[s\](.*?)\[/s\]!', "<s>\\1</s>", $input);
     
        $input = str_replace("[quote]", "<blockquote class=\"quote\">", $input);
        $input = str_replace("[/quote]", "</blockquote>", $input);
        $input = preg_replace('!\[quote=((.)*?)\]!', "<blockquote class=\"quote\"><i>Quote van: \\1</i><br><br>", $input);
         $input = preg_replace ("#\[code\](.*)\[/code\]#", "highlight('\\1')", $input);
        $input = preg_replace("!javascript:!i", "", $input);
        $input = preg_replace("!script!i", "", $input);
         $input = preg_replace("#\[size=([-+]?[1-2]?[0-9])\](.*?)\[/size\]#si", "<font size='\\1'>\\2</font>", $input);
       $input = preg_replace("#\[color=(\#[0-9A-F]{6}|[a-z-]+)\](.*?)\[/color\]#si", "<font color='\\1'>\\2</font>", $input);
       $input = eregi_replace("[url][[:space:]]*(http://)?([^[]*)[[:space:]]*\[/url]", "<a href=\"http://\\2/\">\\2</a>", $input);
        $input = eregi_replace("\[url=([^[]*)\]([^[]*)\[/url\]","<a href=\"\\1\" target=_blank>\\2</a>",$input);
        $input = eregi_replace("(\[url=)([A-Za-z0-9_~&Speak to the hand\?:%@#./\-]+[A-Za-z0-9/])(\])", "<a href=\"\\2\" target=_blank>", $input);
        $input = eregi_replace("(\[img=)([A-Za-z0-9_~&Speak to the hand\?:%@#./\-]+[A-Za-z0-9/])(\])", "<a href=\"\\2\" target=_blank><img src=\"\\2\" border=\"0\"></a>", $input);
        $input = eregi_replace("(^|[>[:space:]\n])([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])([<[:space:]\n]|$)", "\\1<a href=\"\\2://\\3\\4\" target=\"_blank\">\\2://\\3\\4</a>\\5", $input);
        $input = eregi_replace("([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})", "<a href=\"mailto:\\1\">\\1</a>", $input);
        $input = eregi_replace("(^|[>[:space:]\n])([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])([<[:space:]\n]|$)", "\\1<a href=\\2://\\3\\4 target=_blank>\\2://\\3\\4</a>\\5", $input);
        $input = eregi_replace("([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})", "<a href=\"mailto:\\1\">\\1</a>", $input);
     
        $input = str_replace("[list]", "<ul>", $input);
        $input = str_replace("[ulist]", "<ul>", $input);
        $input = str_replace("[*]", "<li>", $input);
        $input = str_replace("[li]", "<li>", $input);
        $input = str_replace("[/list]", "</ul>", $input);
        $input = str_replace("[/li]", "</ol>", $input);
        $input = str_replace("[/ulist]", "</ul>", $input);
        $input = str_replace("[/listo]", "</ol>", $input);
        $input = preg_replace("/\[list=([a1])\]/si", "<ol type=\"\\1\">", $input);

    return $input;
    }
?>

(Dit skript heb ik ijgelijk niet zelf gemaakt, en ook niet getest, als het niet werkt, laat het dan weten)
 
Oei, ineens werkt het bij mij ook niet meer :D ( ik ga eens kijken, maar ik heb niet veel tijd nu)
 
Even pure interesse; ga je zelf tutorials plaatsen Wouter?
 
Goh SvU, bespeur ik daar een beetje sarcasme in je laatste post?
 
Hallo

Ik gebruik het script dat hier gepost is al een tijd maar nu ben ik een nieuwe site aan het maken en nu is de hoofdpagina ook index.php.
Je ziet dat het script dat in dit topic gepost is index.php en nieuw.php heten.
Kan iemand ervoor zorgen dat index.php tutorialindex.php wordt.
Dus moet dit ook in deze twee scripts verbeterd worden.
Kan er iemand dit voor mij doen ik heb het al enkele keren geprobeerd.

Alvast bedankt,

wouter54321
 
Code:
<html>
<head>
<title>Tutorials</title>
</head>
<body>
<?php
mysql_connect("localhost", "naam", "pas");
mysql_select_db("naam");
//in de volgede regel moet je de naam van dit bestand schrijven
$index="tutorialindex.php";
$get=$_GET['tutorial'];
if ($get!='html' && $get!='css' && $get!='php' && $get!='mysql'){
?>
<a href="<?php echo $index; ?>?tutorial=html">html</a><br />
<a href="<?php echo $index; ?>?tutorial=css">css</a><br />
<a href="<?php echo $index; ?>?tutorial=php">php</a><br />
<a href="<?php echo $index; ?>?tutorial=mysql">mysql</a><br />
<?php
}
else{
$id=$_GET['id'];
if (!isset($id)){
?>
<center><h1><b><?php echo $get; ?></b></h1>
<table width="50%" border="1">
<tr><td>titel</td><td>datum</td></tr>
<?php
$res = mysql_query("SELECT titel, datum, id FROM tutorials WHERE onderw = '".$get."'");
while ($obj = mysql_fetch_assoc($res)) { 
echo '<tr>';
echo '<td> <a href='.$index.'.php?tutorial=';
echo $get;
echo '&&id=';
echo $obj['id'];
echo '>';
echo $obj['titel'];
echo '</a></td>';
echo '<td>';
echo $obj['datum'];
echo '</tr>';
echo '</tr>';
}
mysql_free_result($res); 
?>
</table>
<br /><br />
<a href="nieuw.php?tutorial=<?php echo $get; ?>">Nieuwe tutorial inzenden</a>
</center>
<?php
}
else{
$res = mysql_query("SELECT * FROM tutorials WHERE id=".$_GET['id']."");
while ($obj = mysql_fetch_assoc($res)) {
?>
<center><h1><b><?php echo $obj['titel']; ?></b></h1></center>
<?php
echo $obj['inhoud'];
}
}
}
?>
</body>
</html>

Dit moet wel werken (ik heb het niet uitgeprobeert) en zo als je kan zien kan je nu gewoon 1 regeltje text veranderen en alles wordt aangepast.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan