hey, ik ben van plan een soort van controle paneel te maken zodat ook mijn vrienden aan mijn site kunnen werken, ikzelf weet vrij weinig af van php alleen de basis. Wat kan ik nu het beste doen om dit te maken? Bestaan hier tutorials van? Ik zou graag een inlog pagina hebben, daarna kom je op een andere pagina terecht waar je, bv nieuws kunt poste en dat dat dan op de site terecht komt met een degelijke layout dus met tabel ofzo

bedankt
Benny schreef op 30.09.2006 11:22
heb je Zoiets geloof k.


CREATE TABLE nieuws (
id int(11) NOT NULL auto_increment,
titel varchar(85) NOT NULL default '',
bericht TEXT NOT NULL default '',
datum DATETIME NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (id)
) TYPE=MyISAM;
Bij werkt dit wat alleen niet zo mooi is vind ik is de foutafwikkeling of anders gezegd als alles is ingevoerd dat je dan een melding krijgt van alles is toegevoegd en bijv. dat je dan weer het invulformulier voor je krijgt voor een nieuw bericht in te voeren...
@lissy, had ook niet gezegd dat hij dit moest gebruiken, ik had het alleen maar geschreven als voorbeeld zodat hij kon zien hoe alles werkt, als ik foutafhandeling erbij zou doen wordt de code gelijk weer zo lang voor iets wat in deze beginnersperiode nog niet zo belangrijk is. het ging immers alleen maar om de code om iets in de database te krijgen.
Yep...ik vind alleen dat wanneer je aan het leren bent je dit meteen meeneemt. Het is geen aanval op jouw opzet meer een toevoeging voor ons allemaal om de persoon in kwestie meteen goed op de rit te zetten en niet achteraf weer komen met ja maar.... je mist nog dit en dat is ook niet veilig etc. etc.
eff alles op een rijtje zetten dit is mijn pagina index.php
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("cms");

if ($_SERVER['REQUEST_METHOD'] == "POST")
{
    extract($_POST); //alle velden ophalen
    $query         = "INSERT INTO 
                nieuws 
                (titel,    bericht, datum) 
                VALUES 
                ('".$titel."', '".$bericht."', '".date("Y-m-d")."')";
    $result        = mysql_query($query) or die (mysql_error());
}
else
{
?>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<table>
<tr>
    <td>Titel</td>
    <td><input type="text" name="titel" id="titel"></td>
</tr>
<tr>
    <td>Bericht</td>
</tr>
<tr>
    <td colspan="2"><textarea name="bericht" id="bericht" cols="50" rows="20"></textarea></td>
</tr>
<tr>
    <td colspan="2"><input type="submit" name="submit" id="submit" value="posten"></td>
</tr>
</table>
</form>
<?php
}
?> 


ik heb deze sql ingegeven in de database cms


CREATE TABLE nieuws (
id int(11) NOT NULL auto_increment,
titel varchar(85) NOT NULL default '',
bericht TEXT NOT NULL default '',
datum DATETIME NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (id)
) TYPE=MyISAM;  

als ik iets ingeef in test.php kom ik gewoon uit op een witte pagina en er is niets toegevoegd aan de database

Bij werkt de query dus wel alleen niet wanneer ik hem zo schrijf:

<?php
$query = "INSERT INTO
nieuws
(titel, bericht, datum)
VALUES
('".$titel."', '".$bericht."', '".date("Y-m-d")."')";
?>

Ik dien om de query te laten werken toch echt zo op te schrijven:

<?php
$query = "INSERT INTO nieuws (Titel, Bericht, Datum) VALUES ('".$Titel."', '".$Bericht."', '".date("Y-m-d")."')";
?>

Nog effies een vraagje waarom index.php en test.php?
Ik heb dit alles op 1 pagina en heet test.php en dan werkt het.
edit : vraagje
@ Lissy:

Twee tips:
1) Schrijf je INSERT query met dezelfde syntax als een UPDATE query. Dan is hij veel gemakkelijker te lezen. (vind ik tenminste ;-))

2) Laat MySQL de datum voor je vullen, met CURDATE()

edit:
dus zo:
<?php
$query = "
INSERT INTO nieuws
SET
Titel = '" . $Titel . "',
Bericht = '" . $Bericht . "',
Datum = CURDATE()
";
?>
En als je tijd de tijd van plaatsing erbij wilt gebruik je..

Tijd = NOW()

Ik zou zelf wel de tijd weergeven, vind ik mooier staan :)
@ Jan : dank je wel voor de update en jawel voor wat betreft de SQL leer ik elke dag nog en vraag ik wat ik niet weet :)

Reageren