Ben niet een php genie, maar doe er dagelijks iets aan als hobby. Nu wil ik een script hebben danwel maken, maar ik ben met dit volgende niet zo bekend:
Het gaat om een nieuwswebsite. De bedoeling is dat er voor de ingelogde (hoeft niet perse meerdere accounts, er zullen maar 2 gebruikers dingen toevoegen) een formulier komt, waarbij ze de volgende gegevens invoeren
* Titel bericht
* Bericht zelf
* Datum gebeurtenis (het liefst met zo'n kalender knopje o.i.d.
* Plaats gebeurtenis
Hij moet dan natuurlijk automatisch een ID aanmaken van het bericht en dat in de database zetten, dus de volgende kolommen zijn er dan:
ID | Titel | Datum | Bericht | Plaats
Maar nu het moeilijk(st)e: Er moet automatisch een map aangemaakt worden op de server, gelijknamig aan de ID van het bericht.
Dus als ik voor het eerst een bericht intik en opsla via het formulier in de database, moet er op de server (in een bepaalde map) de map genaamd '1' verschijnen, want het ID is tenslotte '1'
Enzovoort...
Verder hoeft er niet veel aan de opmaaktags te gebeuren, alleen een B , I , U zou wel prettig zijn...
Heeft iemand een idee of beginnetje?
Alvast bedankt!
Groetjes Tommy
P.S. Het uitlezen van de database dat lukt me opzich wel, het gaat meer om het invoeren naar een databse, en automatisch de map aanmaken op de server
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "Het artikel is geplaatst. Voeg via de FTP server fotos, videos en downloads toe. Het artikelnummer is gelijk aan de map waar de bestanden in moeten staan.";
mysql_close($con)
?>
</body>
geen error, maar maakt ook geen mappen aan. de map 'files' is chmodded naar 777
Ik krijg nu een error: Warning: mkdir() [function.mkdir]: File exists in /home/dnp/domains/dnp.nu/public_html/dnpnieuw/admin/insert.php on line 21
lijn 21 is: mkdir("files/$id", 0700);
totale scipt is:
<body bgcolor="#FFFFFF">
<?php
$con = mysql_connect("localhost","dnp_joomla","xxx);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dnpp", $con);
$sql="INSERT INTO dnp2 (Titel, Plaats, Bericht, Datum)
VALUES
('$_POST[Titel]','$_POST[Plaats]','$_POST[Bericht]','$_POST[Datum]')";
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$id = MySQL_Insert_ID();
mkdir("files/$id", 0700);
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "Het artikel is geplaatst. Voeg via de FTP server fotos, videos en downloads toe. Het artikelnummer is gelijk aan de map waar de bestanden in moeten staan.";
mysql_close($con)
?>
</body>
Ja klopt zie het nu ook, ging perongeluk met het wachtwoord weghalen voor op t forum. In t echte script zit dat foutje niet;) toch bedankt. Maar het punt is dus, dat de map die het script zou móeten aanmaken, nog niet bestaat. Er staan in de map 'files' op dit moment 2 mappen; '5' en '0'. De '5' heb ik handmatig aangemaakt, en de map '0' heeft het script aangemaakt, na de toevoeging van SanThe Nvt.
Dus blijkbaar pakt het script de 'ID' niet, maar maakt er standaard '0' van. Iemand tips of nog beter de oplossing?
Ooohh okeee... thnx voor de hulp tot nu toe:D
maar waar moet ie dan komen te staan? Als ik um bijvoorbeeld onder mysql_select_db("dnpp", $con); zet, dan krijg ik
Warning: mkdir() [function.mkdir]: File exists in /home/dnp/domains/dnp.nu/public_html/dnpnieuw/admin/insert.php on line 17
Notice: Undefined index: Titel in /home/dnp/domains/dnp.nu/public_html/dnpnieuw/admin/insert.php on line 22
Notice: Undefined index: Plaats in /home/dnp/domains/dnp.nu/public_html/dnpnieuw/admin/insert.php on line 22
Notice: Undefined index: Bericht in /home/dnp/domains/dnp.nu/public_html/dnpnieuw/admin/insert.php on line 22
Notice: Undefined index: Datum in /home/dnp/domains/dnp.nu/public_html/dnpnieuw/admin/insert.php on line 22
Wauw het werkt!:D Alle slimme mensen dank! Hij maakt nu de mappen aan met de juiste ID. Maar als ik de map wil openen, krijg ik een bericht dat ik niet de rechten ervoor heb. Maar als ik naar de CHMOD kijk, dan staat er dat de eigenaar schrijven, lezen en uitvoeren kan. Ik heb ook even geprobeerd om het getal 0700 te veranderen in 0777. Dan kom ik wel in de map, maar als ik dan iets wil uploaden, krijg ik de volgende foutmeldig:
Er is een fout opgetreden bij het naar de FTP-server kopieren van een bestand. Zorg ervoor dat u de bevoegheid hebt om bestanden naar de server te kopiëren.
Details:
200 Type set to I
227 Entering Passive Mode (81,30,70,233,137,255).
550 foto.png: Permission denied