<?php
session_start() ;
if ( $_SESSION['tabel_sierraden'] != "1" ) {
$database_server = mysql_connect("*", "*", "*");
mysql_select_db("*", $database_server) ;

function Table_Exists($table_name) {
$Table = mysql_query("show tables like '" .
$table_name . "'");
if(mysql_fetch_row($Table) === false)
return(false);
return(true);
}

if ( Table_Exists($sieraden) == false ) {
$sql = "CREATE TABLE sieraden
(artnr varchar(5),
naam varchar(20),
prijs varchar(6),
aant varchar(5),
beschr varchar(50))" ;
mysql_query( $sql ) ;
session_start() ;
$_SESSION['tabel_sierraden'] = "1" ;
} else { echo "bestaat al" ;
session_start() ;
$_SESSION['tabel_sierraden'] = "1" ; }
}

////////////////////

if ($submit) {
// Maak verbinding met MySQL server
$database_server = mysql_connect("*", "*", "*");
mysql_select_db("*", $database_server) ;

// Zet voor 'gevaarlijke' tekens (', ", en \) een extra \
$artnr = addslashes($artnr);
$naam = addslashes($naam);
$prijs = addslashes($prijs);
$aant = addslashes($aant);
$beschr = addslashes($beschr);

// Maak SQL query om toe te voegen (INSERT)
$sql = "INSERT INTO sierraden (artnr, naam, prijs, aant, beschr)
VALUES ('$artnr', '$naam', '$prijs', '$aant', '$beschr')";

// Voer SQL uit
mysql_query($sql) or die("Oops...");

// Geef bevestiging
echo "Cool, winkel is suxesvol toegevoegd.";
}
?>

<form action="index.php" method="post">
<input type="hidden" name="submit" value="yes">
Artnr: <input type="text" name="artnr" maxlength="5"><br>
Naam: <input type="text" name="naam" maxlength="20" ><br>
Prijs: <input type="text" name="prijs" maxlength="6" ><br>
Aant: <input type="text" name="aant" maxlength="5"><p>
Beschr: <input type="text" name="beschr" maxlength="50"><p>
<input type="submit" value=" Voeg toe ">
</form>

is hoever ik nu ben.. ik probeer het een beetje te leren dat mysql. Maar nu.. ik kan wel een tabel aan maken en controleeren of die bestaat. Alleen het invullen wil niet lukken hij zegt oops.. ("Oops..."); weet je wel.. ziet iemand de oplossing

hij connect wel naar de goede host van de mysql.
Omdat ik wel tabellen aan kan maken via php (zie de eerste paar regels)
ps. jaa er staan sterretjes maar dat deel werkt ook wel zonder de sterretjes dan ;)

ik hoop dat jullie het probleem snappen
gr kima
variabelen moet je even buiten de single quotes halen:
"('$variabele')"

veranderen in:
"('".$variabele."')"

dat zou moeten werken.
na deze verandering
VALUES ('".$artnr."', '".$naam."', '".$prijs."', '".$aant."', '".$beschr."')";

nog steeds oops .. dus werkt die nog nie.
de line erboben had ik het ook gedaan maar nog steeds nix..
Maak van "Oops..." even mysql_error()

En plak dan hier even wat er dan komt te staan.
<?php
$artnr = addslashes($artnr);
$naam = addslashes($naam);
$prijs = addslashes($prijs);
$aant = addslashes($aant);
?>
Je haalt de gegevens hiermee niet op. Ook if ($submit) is fout. Je moet dit er van maken:
<?php
//om $_POST['toevoegen'] te controleren moet je ook nog je submit knop de naam toevoegen geven (name="toevoegen")
if ($_POST['toevoegen']) {
// Maak verbinding met MySQL server
$database_server = mysql_connect("*", "*", "*");
mysql_select_db("*", $database_server) ;

// Zet voor 'gevaarlijke' tekens (', ", en \) een extra \
$artnr = addslashes($_POST['artnr']);
$naam = addslashes($_POST['naam']);
$prijs = addslashes($_POST['prijs']);
$aant = addslashes($_POST['aant']);
$beschr= addslashes($_POST['beschr']);

// Maak SQL query om toe te voegen (INSERT)
$sql = "INSERT INTO sierraden (artnr, naam, prijs, aant, beschr)
VALUES ('".$artnr."', '".$naam."', '".$prijs."', '".$aant."', '".$beschr."')";
?>
Terence:
Controleren op formulier submit hoort zo:
if($_SERVER['REQUEST_METHOD'] == "POST")
Tenzijn je meerdere forms naar de pagina hebt staan natuurlijk
Willem-Jan schreef op 08.06.2006 00:50
Maak van "Oops..." even mysql_error()

En plak dan hier even wat er dan komt te staan.


Doe dat nou even die functie is er niet voor niks.

En btw suxesvol is niet met een x maar het is succesvol
volgens mij defineer jij de var $sieraden niet voor de functie TableExists...
Wout, die $sieraden heeft helemaal niks met de INSERT query te maken. Oke, de code kan een stuk netter. Maar daar ging het nu niet om.
wes schreef op 08.06.2006 09:35
Tenzijn je meerdere forms naar de pagina hebt staan natuurlijk


Dan nog controleer je of de request methode POST is, en daarbij controleer je dan met de if($_POST[' ']) dan welk formulier er is geweest.

Reageren