Volledige versie bekijken : Nieuwssysteem Arjen Scherff Uploadprobleem
papirosn
%Europe/Berlin %609 %2006, 15:37
Ben bijna door de tut. Nu bots ik op een ander probleem. Als ik nieuws wil uploaden komt dat niet in MSQL te zitten. En er komt ook geen foutmelding.
Dit is de AS onder de Sendbutton:
on(release){
loadVariables("http://localhost:8080/Nieuwspagina/admin.php", this, "POST")
play()
}
Dit de PHP:
//nieuws lezen
//connecten
$dbname = "hencNieuws"; //de naam van je database
$dbuser = "root"; //je inlognaam
$dbpw = "root"; //je wachtwoord
$dbhost = "localhost:8889"; //de locatie van de database
$open = mysql_connect($dbhost, $dbuser, $dbpw) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());
//in database zetten
$sql = mysql_query("INSERT INTO nieuws (dagnaam, dag, maand, jaar, onderwerp, bericht) VALUES ('$dagnaam','$dag','$maand','$jaar','$onderwerp',' $bericht')") or die (mysql_error());
TheZwier
%Europe/Berlin %658 %2006, 16:47
Waarschijnlijk heb je global vars niet aan staan (wat ook GOED is!).
Dus moet je van $dagnaam $_POST['dagnaam'] maken, en wat nog beter is is om de vars buiten de quotes te houden, dus dan krijg je dit:
$sql = mysql_query("INSERT INTO nieuws (dagnaam, dag, maand, jaar, onderwerp, bericht) VALUES ('" . $_POST['dagnaam'] . "','" . $_POST['dag'] . "','" . $_POST['maand'] . "','" . $_POST['jaar'] . "','" . $_POST['onderwerp'] . "',' " . $_POST['bericht'] . "')") or die (mysql_error());
papirosn
%Europe/Berlin %671 %2006, 17:06
Heel erg bedankt. Werkt perfect.
UnrealEd
%Europe/Berlin %435 %2006, 11:26
Waarschijnlijk heb je global vars niet aan staan (wat ook GOED is!).
dit is misschien offtopic, maar hier struikelde ik toch wel even over:
waarom is dit goed?
als je je script goed schrijft, als je voldoende aandacht spendeert aan de data die ze mogelijk kunnen bevatten, als je voldoende controle inbouwt in je scripts, dan is er NOOIT een probleem.
er is pas een probleem wanneer je te lax omgaat met de gegevens, zoals bijvoorbeeld $_POST variabelen rechtstreeks in een db invoeren.
het afzetten van global vars door de host company omwille van veiligheids redenen vind ik echt zever. Eerst en vooral kan de hostcompany zelf niet in problemen geraken (tenzij ze vrezen dat er teveel ruimte zal in genomen worden door de $_SESSION vars, maar dit is toch niet het geval), al de global vars, behalve $_SERVER en $_SESSION dan, blijven slechts bestaan zolang er een user op je pagina bezig is.
ik gebruik global vars al jaren, en ik heb nog nooit een probleem gehad ermee. nog niemand heeft mij gehackt, nog niemand heeft mijn scripts kunnen aanpassen of irritante javascript meldingen kunnen posten op m'n forum.
Het omgaan met de geposte data is het belangrijkste: het is de scripter zelf die bepaald hoe veilig de global vars zijn, en hoe veilig zijn script is, en het is dus niet zo dat wanner global vars aanstaan dat de werk omgeving per definitie onveilig is
Groeten
UnrealEd
TheZwier
%Europe/Berlin %486 %2006, 12:40
Nou in het geval van hierboven is het goed dat global vars niet aanstond; aangezien iedereen z`n eigen ($_GET) variabelen in de db kon gaan zetten.
En over het algemeen genomen is het veiliger om alle vars met hun oorsprong aan te spreken ($_GET, $_POST, $_SESSION) zodat je ook weet waar het vandaan komt. Als je dit ook doet als global vars aan staat heeft het hele global vars gebeuren weer geen enkel nut.
Controles op de data die je binnenkrijgt moet je zoiezo altijd doen, maar soms worden scripts geschreven zonder in het achterhoofd te houden dat global vars aanstaan. Ik zal wel even een voorbeeldje geven:
if($username == "sjors" && md5($password) == "5b203658f1b0da1596db00ba59ee753f"){
$login = true;
}
if($login == true){
//admin section;
}
Nu zou iemand hier heel makkelijk in het admin gedeelte kunnen komen door alleen aan de url ?login=true toe te voegen!!
Natuurlijk is dit gat makkelijk te dichten door een else statement toe te voegen. Maar dit laat wel zien hoe een klein beetje nalatigheid met global vars potentieel veel gevaarlijker is dan dezelfde nalatigheid zonder dat global vars aan staat!
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.