Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[PHP&MySQL]

Pagina: 1
Acties:
  • 237 views

  • ShitHappens
  • Registratie: Juli 2008
  • Laatst online: 15:48
Hallo allemaal,

voor mijn portfolio Informatica ben ik bezig met een soort van CMS om de uitwerkingen van opdrachten in te zetten. Nu heb ik het volgende script in mekaar geknutseld om een nieuwe module toe te kunnen voegen, gebaseerd op een soortgelijk script wat wél werkt. Nu is het probleem: onderstaande werkt niet.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
include('./instellingen/mysql_verbinding.inc.php');
echo "<h2>Nieuwe module toevoegen</h2>";
if (isset($_POST['submit'])){
     $check = mysql_query("SELECT * FROM `modules` WHERE `mod_nr` = '".$_POST['mod_nr']."' AND `naam` = '".$_POST['naam']."'");
     $check2 = mysql_num_rows($check);
     if ($check2 != 0)
     {die ('Je hebt deze module al!'); }
    else{
     $insert = "INSERT INTO `modules` (`mod_nr` ,`naam`)VALUES ('".$_POST['mod_nr']."', '".$_POST['naam']."')";
     $insert2 = mysql_query($insert);
     echo "Module is toegevoegd! <a href=\"menu.php\">Terug</a>";
         }
}
else
{
echo "<form method=\"post\">";
echo "Module nummer: <input name=\"mod_nr\" type=\"text\" maxlength=\"1\" size=\"1\" /><br />";
echo "Module naam: <input name=\"naam\" type=\"text\" maxlength=\"60\" /><br />";
echo "<input name=\"submit\" type=\"submit\" value=\"Toevoegen\" /></form>";
}
?>


Wanneer je de velden invult en klikt op "Toevoegen" komt het bericht dat ie toegevoegd is, wat in werkelijkheid niet zo is. Ikzelf kan de fout niet vinden en Google hielp ook niet veel.

Wie ziet de fout?

//EDIT: ik zie net dat ik een TT ben vergeten .. moet zijn Query komt niet aan in database

[ Voor 3% gewijzigd door ShitHappens op 06-09-2008 17:23 ]


  • pimlie
  • Registratie: November 2000
  • Laatst online: 20:34
Een statement als 'if ($check2 != 0) ' zegt niet zoveel. Wat gebeurt er als je select query verkeerd gaat? Wat is dan de waarde van $check2 en wat is de uitkomst van je if statement (denk aan type conversies)?

Ik zou dus eerst eens ff goed controleren of je select query uberhaupt goed wordt uitgevoerd :)

  • ShitHappens
  • Registratie: Juli 2008
  • Laatst online: 15:48
Heb ook al een keer het stuk can $check tot de die weggelaten maar zelfs dan INSERT ie nog niet. als $check2 niet nul is, betekent dat dat er al een module is met die naam of nummer en dat ie daarom die-t.

  • Cascade
  • Registratie: Augustus 2006
  • Laatst online: 11-11 11:41
PHP:
1
2
3
4
5
   $insert2 = mysql_query( $insert );
   if( $insert2 === FALSE ) 
      echo 'insert fail:' . mysql_errno() . ' ' . mysql_error(); 
   else
      echo 'insert ok'.


Iets soortgelijks na je andere mysql_query. En lees gelijk even de rest van de mysql_... functies door op php.net voor de return waardes van die functies, escaping, foutafhandeling e.d. Daarnaast ook even controleren wat voor user input je krijgt, je kan nu mod_nr = 'Z' met naam = spatie invoeren bv.

* ook nog iets mompelt over spatie tussen haakje en VALUES...

  • ShitHappens
  • Registratie: Juli 2008
  • Laatst online: 15:48
[voel-stom-mode]de include() klopte niet :+ [/voel-stom-mode]
Daarnaast ook even controleren wat voor user input je krijgt, je kan nu mod_nr = 'Z' met naam = spatie invoeren bv.
Ik ben de enige die invoer doet en de docent zal de PHP broncode toch niet zien, dus daar zal ik me geen zorgen om maken :p

Toch bedankt voor de hulp!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:11
Mja ... dit forum is geen 'dump hier je code en laat iemand anders een oplossing voor m'n rpobleem vinden forum'. Je kan bv zelf al eens de boel debuggen en op zoek gaan naar wat er precies fout mee is.
Ik ben de enige die invoer doet en de docent zal de PHP broncode toch niet zien, dus daar zal ik me geen zorgen om maken
wat een instelling :/

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.