Goedenavond,

Ik zit met een probleem. We hebben een webshop met een admingedeelte, waar wij advertenties kunnen toevoegen aan een database. Nu hebben wij deze website naar een andere hosting over gebracht.
Ik heb de database geïmporteerd en hij word weer weergegeven op de website.
Het probleem is nu dat wanneer wij een advertentie toevoegen in de database, hij wel iets toevoegd in de tabellen, maar dit zijn lege waarden. Hij lijkt dus de waarden uit het formulier niet te pakken.

Na even gemailt te hebben met mijn hosting, die niet wisten wat het is, maar erop wezen dat het kon liggen aan zgn Register Globals ben ik ff gaan zoeken, maar kwam er niet zo uit.
Kan het hieraan liggen, ze zeiden dat de Register Globals functie op hun hosting servers uit geschakeld staat.
Kan het ook nog aan de collatie liggen?

Hier een stukkie script:

<?
include ("../../scripts/safe/connection.php");


$query = "insert into accessoires (id, artikel, naam, beschrijving, prijs, foto, foto2) values('id','$artikel','$naam','$beschrijving','$prijs','$foto','$foto2')";


$result=mysql_query($query)or die (mysql_error());

?>

Bij voorbaat dank!!

Gr, Pim
SanThe schreef op 05.03.2006 22:26
Als id een auto_increment is laat je het leeg, dus '' (twee enkele quotes).


En omdat je in dit geval keurig alle velden opgeeft die je wilt invoegen kun je hem zelfs geheel weglaten, dan regelt MySQL het voor je.
Pim schreef op 05.03.2006 22:20
en moet ik dan in het formulier ook $_POST gebruiken in deze line:

<input type=text name=artikel>


Nee, met $_POST['blabla'] haal je de waarde op uit het veld uit je form met name="blabla"

Wel is html syntax eigenlijk zo:
<input type="text" name="artikel">
Oke, super, het werkt weer (op de manier van SanThe) erg bedankt. Zal nog gaan zoeken om de databases beter te beveiligen.

Nu had ik nog een andere vraag..

Allereerst, een maat van mij heeft die scripts gebouwt, maar nu moet ik als redelijke n00b die scripts gaan verbouwen.. Nu is er in dat scripts iets ingebouwt wat ervoor zorgt dat wanneer het max aantal advertenties per pagina is bereikt, er een volgende pagina wordt gemaakt.. Dit is onderstaand script. Maar nu werkt dit dus ook niet meer, het werkte wel bij de vorige hosting. Zijn dat ook weer die registerglobals?

if (empty($page)) {
$page=1;
}
$van=($page-1)*$max;

if ($page > ceil($rtel)) {
$page=1;
}

for ($i = 1; $i <= ceil($rtel); $i++) {
if ($page == $i)
$pages[$i] = "<b>$i</b>";
else
$pages[$i] = "<a href=\"$php_self?page=$i\">$i</a>";
}

$pages= implode(" | ", $pages);

$vorige = ($page-1) ? "<a href=\"$php_self?page=" . ($page - 1) . "\">&lt; Vorige</a>" : "";
$volgende = ($page-ceil($rtel)) ? "<a href=\"$php_self?page=" . ($page + 1) . "\">Volgende &gt;</a>" : "";

if ($vorige && $volgende) {
$navigation = "$vorige | $pages | $volgende";
} else {
$navigation = "$vorige | $pages | $volgende";
}

Veeel dank weer!

Pim
Is het trouwens niemand opgevallen dat in de originele query de variabele $id werd geschreven zonder $-teken?

EDIT: Ja, dat wel, maar het was mij dan weer niet opgevallen dat dat werd genoemd ;-)
hehe;)

owja, nog een vraagje:p ik blijf maar bezig:s

Upload scriptje:
Oud:

<?

if ($superdat_name != "") {
copy("$superdat", /locatie waart moet komen/$superdat_name") or
die("Couldn't copy file.");

} else {
die("Er is geen bestand geselecteerd.");
}
?>

Nu een beetje aangepast, klopt dat een beetje?:P

<?

if ($superdat_name != "") {
copy( . $_POST['$superdat'] . , "/locatie waart moet komen/foto/$superdat_name") or
die("Couldn't copy file.");

}

?>

Grtz, Pim
no one?
Ik snap die constructie met
. $_POST['$superdat'] .
niet zo goed.

Die twee punten voor en na de $_POST kun je weglaten, want die voegen niets toe.

Wat sowieso niet gaat werken is de $_POST['$superdat']. In dit geval wordt $superdat als een string gezien, en niet als een variabele, omdat er quotes omheen staan. Haal de quotes weg (of vervang ze door dubbele quotes) en het gaat werken.

Reageren