Toon posts:

krijg gegevens niet in mysql , wat doe ik fout?

Pagina: 1
Acties:
  • 487 views

Verwijderd

Topicstarter
krijg gegevens niet in mysql , wat doe ik fout?

<html>
<head>
<title>registratie</title>

<?php
if (isset($_post['submit'])) {
$con = mysql_connect('localhost', 'root', 'root');
if (!$con){
die( "Can not connect: " . mysql_error());
}

mysql_select_db("registratie");

$sql = INSERT INTO `registratie`(`email`, `Voornaam`, `Achternaam`, `Woonplaats`, `Leeftijd`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5])

mysql_querry($sql,$con);

mysql_close($con);
}
?>

<style type="text/css">
div {
border-bottom:1px solid #efefef;
margin: 10px;
padding-bottom; 10px;
width: 260px;}
title {
float: left;
width: 100px;
text-align: right;
padding-right: 10px;}
radio-buttons label {
float: none;}
submit{
text-align: right;}
input{
float: right;}
select{
float: right;}
</style>


<form action ="registratie.php" method="post">
<div>
<label for="email"clas="title">E-mail:</label>
<input type="text" id="email" name="email"/>
</div>
<div>
<label for="Voornaam"clas="title">Voornaam:</label>
<input type="text" id="Voornaam" name="Voornaam"/>
</div>
<div>
<label for="Achternaam"clas="title">Achternaam:</label>
<input type="text" id="Achternaam" name="Achternaam"/>
</div>
<div>
<label for="Woonplaats"clas="title">Woonplaats:</label>
<input type="text" id="Woonplaats" name="Woonplaats"/>
</div>
<div>
<label for="Leeftijd"clas="title">Leeftijd:</label>
<select>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option/>
</select>
</div>
<input type="submit" value="Verzenden"> <input type="reset" value="Reset!"/>
</div>
</form>
</html>

  • nst6ldr
  • Registratie: Mei 2010
  • Niet online

nst6ldr

Down with Big Tech.

Ik ben niet zo best in PHP, maar:

- Graag [ code ] tags gebruiken.
- Ik zie ` in plaats van ' bij het invoegen van de waardes en dat is vaak niet de bedoeling bij programmeren (kan aan mijn gebrek aan PHP kennis liggen).
- Liever niet een root account gebruiken voor de database, dit brengt veiligheidsproblemen met zich mee, helemaal als je code makkelijk te misbruiken in voor SQL injection (wat in dit geval ter sprake is).

Hoe Android ten einde kwam - Ben je wel kritisch?


  • xh3adshotx
  • Registratie: Oktober 2011
  • Laatst online: 28-02-2023
Je kan je code tussen code tags zetten. Ook kan je beter kijken naar MySQLi sinds MySQL deprecated is in PHP en gaat verdwijnen. Post variable kan je krijgen door $_POST['Achternaam'] te gebruiken. Denk aan MySQL injectie ($mysqli->real_escape_string) en XSS. En stop alsjeblieft met die vreselijke `.

Verwijderd

Topicstarter
dit heb ik al geprobeerd $_POST['Achternaam'] de code die er nu staat is geneerd door phpmyadmin.

  • _trickster_
  • Registratie: Mei 2005
  • Laatst online: 28-01 17:14
Ten eerste lijkt mij de optie [value-1],[value-2],[value-3],[value-4],[value-5] verkeerd
dit zou moeten zijn $_POST['woonplaats'];

plus de mysql injectie zou je nog even moetten voorkomen.

ook zelf debuggen is toch echt wel een must,
plaats bijvoorbeeld als test, na je sql query even een
echo mysql_error();
dan kan je ook zien wat er mis gaat.

  • Navi
  • Registratie: Maart 2007
  • Niet online
mysql_querry($sql,$con);

moet zijn

mysql_query($sql,$con);

Verwijderd

Je doet alles fout.
  • $_post in plaats van $_POST
  • je vergeet quotes achter $sql=...
  • mysql_querry in plaats van mysql_query
Je kunt niet serieus hulp verwachten als je zelf zo weinig moeite doet om ergens goed naar te kijken en logisch over na te denken.

  • HyperioN
  • Registratie: April 2003
  • Laatst online: 06-01 20:13
Verwijderd schreef op donderdag 13 september 2012 @ 20:22:
krijg gegevens niet in mysql , wat doe ik fout?
Wat lukt er precies niet? Welke meldingen krijg je wel of niet? Wat heb je zelf al gevonden?

Je hebt een héél basic voorbeeld, daar kun je makkelijk zelf uitkomen. Ik zou zeggen begin eens een aantal tutorials doornemen: [google=php mysql beginners tutorial].

Alvast een paar tips:
  • root/root als username/password voor je mysql-server? Seriously?
  • [value-1],[value-2],etc Hoe kom je hierbij? Misschien zie ik iets over het hoofd, maar wat wil je met die syntax bereiken? POST-variables zitten in PHP in een de superglobal $_POST. Een veld genaamd 'voornaam' haal je dus op met $_POST['voornaam'].
  • Het is mysql_query, niet mysql_querry
  • Denk aan sanitizing van je input en cross-site scripting.
  • Voor op GoT: zet je code in [code] tags

Verwijderd

Topicstarter
ben nog maar een amateur die om hulp vroeg dankje wel alvast

  • xh3adshotx
  • Registratie: Oktober 2011
  • Laatst online: 28-02-2023
Even uit m'n hoofd (NEE dit is niet perfect...)

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
$mysqli = new mysqli(host, user, password, database);

if ($mysqli->connect_error) {
    echo $mysqli->connect_error;
}
else {
    if (!$mysqli->query("INSERT INTO 'registratie' ('email', 'Voornaam', 'Achternaam', 'Woonplaats', 'Leeftijd') VALUES ('" . $mysqli->real_escape_string($_POST['Voornaam']) . "',etc,etc,etc,etc)")) {
        echo $mysqli->error;
    }
    else {
        echo "yeey";
    }
}



Doe verder zelf maar even onderzoek.

Verwijderd

Topicstarter
dankjewel voor de tips allemaal

  • edeboeck
  • Registratie: Maart 2005
  • Laatst online: 26-01 12:51

edeboeck

mie noow noooothing ...

@canixx:

Je was in je code (die in je topicstart alvast) vergeten dat je SQL-statement een string is die je aan je $sql-variabele toekent.

Zoals hier al zoveel gezegd is: hier op T.Net verwachten we toch echt meer initiatief...

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 30-01 20:37
Volgens mij wordt over het algemeen aangeraden PDO te gebruiken, als is mysqli natuurlijk al beter dan mysql. En dan dus met prepared statements.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Zoooo. Hier moet je wel mee vooruit kunnen. Even een (goede) tutorial doen, wat (basis)kennis onder de riem krijgen en een beetje debuggen en dan kom je er wel :Y)

Voor een volgende keer: Quickstart. En daar blijven we je niet op wijzen :|
En als je dan toch aan 't lezen gaat; neem dan meteen Waar hoort mijn topic? mee want ik zie niet waarom je topic in WEB staat en wijs ik je ook nog even op onze code tags voor 't posten van code.

[ Voor 23% gewijzigd door RobIII op 14-09-2012 10:11 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.