login  Naam:   Wachtwoord: 
Registreer je!
 Forum

fout in versturen var naar database

Offline netmarker - 26/04/2006 18:06 (laatste wijziging 26/04/2006 18:27)
Avatar van netmarkerNieuw lid Hallo

Ik heb het onderstaand script. Hiermee wil ik de bestandsnaam in de laatste collom (foto) van mijn database plaatsen. Alleen gaat er iets fout. Ik denk zelf dat ik iets fout doe in de query

kan iemand hier naar kijken voor mij??

  1. <?php
  2. //logged_on.php is de file die controleert of je wel bent ingelogd
  3. include("..//includes/connect.php");
  4.  
  5.  
  6. //functie voor de ecscape bij $msg_tekst
  7. function escape( $strVar, $resDbConnection = null )
  8. {
  9. if ( get_magic_quotes_gpc() == 0 )
  10. {
  11. // don't escape integers
  12. if ( !ctype_digit( $strVar ) )
  13. $strVar = mysql_real_escape_string( $strVar, $resDbConnection );
  14. }
  15. return $strVar;
  16. }
  17.  
  18.  
  19. //onderstaande voegt een nieuw bericht toe aan de database als er gegevens zijn meegezonden
  20. if(!empty($_POST)){
  21. $query = "INSERT INTO messages VALUES('',CURDATE(),CURTIME(),'". $_POST["msg_title" ]. "','". $_POST["msg_type"]. "','". escape($msg_text). "','". $user_id. "','".$_FILES['userfile']['name']. "');";
  22. $result = mysql_query($query) or die(mysql_error());
  23. header("location: messages.php");
  24. }
  25.  
  26. ?>
  27. <form
  28. name="insert_post" action="<?php echo($_SERVER["cms/new_massage.php2"]) ?>" method="post" onsubmit="save_in_textarea_all();">
  29.  
  30. <?php
  31. $ThisFileName = basename(__FILE__); // get the file name
  32. $path = str_replace("/cms/scripts/".$ThisFileName,"",__FILE__); // get the directory path
  33. $upload_dir = $path. "/Image/"; // be shure php has access to this dir (chmod)
  34. $new_file = $upload_dir."/".$_FILES['userfile']['name'];
  35. if ($_POST['upload'] == "Upload") {
  36. if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
  37. move_uploaded_file($_FILES['userfile']['tmp_name'], $new_file) or
  38. print "could not store $new_file ";
  39. chmod ($upload_dir. $_FILES['userfile']['name'], 0777);
  40. $query = "INSERT INTO messages VALUES = 'foto'
  41. WHERE foto = '". $user_id. "' ;";
  42. $result = mysql_query($query) or die(mysql_error());
  43. header("location: ../index.php");
  44. }
  45. else
  46. {
  47. switch ($_FILES['tmp_name']['error']) {
  48. case 0:
  49. print "<a href='#' onClick='history.back()'>Terug</a><br>!is_uploaded_file.., no file upload?<br><a href='../index.php'> Gewoon verder gaan!</a> ";
  50. break;
  51.  
  52. case 1:
  53. print "<br><strong> U heeft geen foto aan dit messages toegevoegt </strong><br><a href='#' onClick='history.back()'>Terug </a>(informatie niet versturen maar opnieuw bewerken / foto toevoegen) <br><a href='../index.php'> Door gaan </a> (messages plaatsen op website zonder foto)";
  54. break;
  55. default:
  56. print "<br>Onbekende foutmelding<br><a href='#' onClick='history.back()'>Terug</a>(informatie niet versturen maar opnieuw bewerken)<a href='../index.php'> Gewoon verder gaan!</a> (messages plaatsen op website zonder 100% foutcontrole. Controleer of het messages is geplaast)";
  57. }
  58. }
  59. }
  60. ?>
  61. <form enctype="multipart/form-data" method="post">
  62. <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
  63. Upload this file: <input name="userfile" type="file">
  64. <input type="submit" value="verzend"></td>
  65.  
  66.  
  67. </form>
  68. <?
  69. echo print_r($_FILES);
  70. ?>
  71.  
  72. </body>
  73. </html>

3 antwoorden

Gesponsorde links
Offline Martijn1989 - 26/04/2006 18:32
Avatar van Martijn1989 PHP ver gevorderde
  1. $query = "INSERT INTO messages VALUES('',CURDATE(),CURTIME(),'". $_POST["msg_title" ]. "','". $_POST["msg_type"]. "','". escape($msg_text). "','". $user_id. "','".$_FILES['userfile']['name']. "');";


Dit kan niet,

je moet wel kiezen waar in welke kolomveld ze moeten komen

  1. <?php
  2. $query = "INSERT INTO `messages` (veld1,veld2,veld3,veld4,veld5,veld6) VALUES ('CURDATE(),CURTIME(),'". $_POST["msg_title" ]. "','". $_POST["msg_type"]. "','". escape($msg_text). "','". $user_id. "','".$_FILES['userfile']['name']. "');";
  3. ?>


Dit komt er al meer in de buurt van.
Offline netmarker - 26/04/2006 20:47
Avatar van netmarker Nieuw lid oke dank, klopt het dat ik met $_FILES['userfile']['name'] je naam in het bestand upload naar de database of moet ik daar $new_file voor gebruiken?
Offline Gerard - 26/04/2006 22:06
Avatar van Gerard Ouwe rakker
Citaat:
[..code..]

Dit kan niet,

je moet wel kiezen waar in welke kolomveld ze moeten komen


Dit is niet nodig, zolang je maar zorgt dat je alle kolommen meepakt bij het invoeren. Dus een lege waarde voor je auto_increment id veld enzo
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.218s