Hallo,
ik ben bezig met een klein projecteje waarvoor ik iets nodig heb om dingen in een database te gooien.

Voorbeeld:
mensen vullen bij voornaam: jan . in
en bij achternaam: van der beuk . in

Dan zou dat in mijn database komen nadatr ze op submit hebben gedrukt:


<?php
$host="localhost";
$dbnaam="voortest";
$username="root";
$password="";
mysql_connect($host,$username,$password) or die (mysql_error());
mysql_select_db($dbnaam) or die (mysql_error());
?>
<?php
$query = 'INSERT INTO `voortest`.`voortest` (`anaam`, `vnaam`);';
$res = mysql_query($query);
?>
<form action="<?php $_GET['PHP_SELF']; ?>">
Voornaam:  <input name="vnaam" type="text" value="<?php ($anaam);?>"><br>
Achternaam:<input name="anaam" type="text" value="<?php ($vnaam);?>"><br>
<input type="submit" value="submit" action="<?php echo $res; ?>">
</form>
D'r klopt maar weinig van 17 regels code. Knap werk!

Ten eerste zou ik de connectie met de database in een include zetten. Controleer daar in ook alles. Geen or die() gebruiken. Da's nergens voor nodig en is nog lelijk ook.

Van het stukje dat dan komt, klopt helemaal niets. Waar is de formulier controle? Waar zijn de variabelen van de velden in je formulier?
Een basiscursus SQL kan ook geen kwaad, de INSERT-query lijkt echt helemaal nergens op.

INSERT INTO
  tabelnaam (
    kolom_1,
    kolom_2
  )
VALUES (
  'waarde 1',
  'waarde 2'
);

Zo moeilijk is dat toch niet? En bouw de andere helft van je code ook nog even, dan krijg je ook de foutmeldingen e.d. te zien wanneer het fout gaat. Scheelt je vele uren debuggen.
Hmm. oke.

een vriend heeft iets voor me zitten prutsen
heb nu dit


<form action="#" method="POST">
Voornaam:   <input name="firstname" type="text" value="firstname"><br>
Achternaam: <input name="lastname" type="text" value="lastname"><br>
<input type="submit" value="Verzend">
</form>

<?php

if(isset($firstname));{
if(isset($lastname));{

$firstname=$_POST["firstname"];
$lastname=$_POST["lastname"];

$db_host="localhost";
$db_name="omtest";
$db_user="root";
$db_password="";

$db=mysql_connect("$db_host, $db_user, $db_password");
mysql_select_db("$db_name, $db")
or DIE ("Can't Find Database");

mysql_query("INSERT INTO firstname, lastname ($firstname, $lastname");

$status_message="Verstuurd!";

}
}
?>


Maar onder het forumlier staat dit:
Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host 'localhost, root, ' (11004) in C:\Documents and Settings\Jolanda.JOLANDA-QS7JRKD\Bureaublad\Danny\Wamp\www\omtest\data_shit.php on line 20
Can't Find Database

Ik snap niks van die fout.

Wat is de fout precies, en waarom krijg ik het?
Ook dit script klopt van geen tierelier...
Vooral die query niet.

lees PgFrank's bericht van 16:35 eens door....

En verder staat de MySQL service wss uit.
rare vriend dan ;)
[voorkauw]

<form action="#" method="POST">
Voornaam:   <input name="firstname" type="text" value="firstname"><br>
Achternaam: <input name="lastname" type="text" value="lastname"><br>
<input type="submit" value="Verzend">
</form>

<?php

$firstname=$_POST["firstname"];
$lastname=$_POST["lastname"];

if(isset($firstname) && isset($lastname)) {

$db_host = "localhost";
$db_name = "omtest";
$db_user = "root";
$db_password = "";

$db=mysql_connect($db_host, $db_user, $db_password);
mysql_select_db($db_name, $db)
or trigger_error (mysql_error());

mysql_query("
    INSERT INTO 
         tabelnaam (
             firstname, 
             lastname
         ) 
     VALUES 
         (
             '".mysql_real_escape_string($firstname)."', 
             '".mysql_real_escape_string($lastname)."'
         )
") or trigger_error(mysql_error());

$status_message="Verstuurd!";

}
}
?>
[/voorkauw]
kijk en probeer te snappen wat er staat, daar leer je het meest van!
Ik leer er inderdaad van maar krijg deze error:
Notice: Table 'voortest.tabelnaam' doesn't exist in C:\Documents and Settings\Jolanda.JOLANDA-QS7JRKD\Bureaublad\Danny\Wamp\www\omtest\data_shit.php on line 34
wat is er mis met lezen en vertalen?

Table 'voortest.tabelnaam' doesn't exist.
Voortest is je database, en tabelnaam, ja... dat is je tabelnaam.
danny@creative-hosts schreef op 04.06.2008 16:59
Ik leer er inderdaad van maar krijg deze error:
Notice: Table 'voortest.tabelnaam' doesn't exist in C:\Documents and Settings\Jolanda.JOLANDA-QS7JRKD\Bureaublad\Danny\Wamp\www\omtest\data_shit.php on line 34
Lees de foutmelding eens hardop voor. Dan wordt direct duidelijk wat er aan het handje is.

Ps. Vergeet niet om hem te vertalen naar het Nederlands.
pgFrank schreef op 04.06.2008 17:04
... te vertalen naar het Nederlands.


Komop he jongens, ik kan begrijpen dat je er zot van wordt als iemand geen raad op volgt van kenners, maar ga elkaar niet afbreken :D

Reageren