Ik loop nog tegen een probleempje op. Ik krijg na het uploaden van een foto nog de volgende error: Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in /home/a9533661/public_html/loggedin/add_bedrijf.php on line 148 (Hier is dit lijn 152 in het onderste php script)

Ik heb al een aantal dingen geprobeerd om dus achter de mysql_db_query($dbname,$query,$db)) een ; neer te zetten of de die(mysql_error()) weg te halen maar nog zonder resultaat.
Het gaat om het script van Cynthia: http://www.phphulp.nl/php/scripts/3/645/

Ik hoop dat iemand mij wat verder kan helpen, alvast bedankt.

Hier is het script:
*update: Is het zo beter leesbaar?

<?php


/* Deze 3 regels zijn het enige vereiste om te controleren of er is ingelogd */
ob_start();
session_start();
include("auth.php");
checkAuth();
/* Tot hier dus  ;-) */
 
# De verwerking van de gegevens doen we gewoon 
# met een eenvoudig formulier.

# Procedure geschreven door Cynthia Fridsma

// verbind de server
require_once("config.php");

// gebruik het filter voor de afbeeldingen
include ("filter.php");

// lees de waarde van 'go'
$go = $_POST['go'];


# als het formulier nog niet eerder is gebruikt dan 
# wordt er een formulier getoond op je scherm.

if ($go ==""): 

?>


<div align="right">
<div align="right"><a href="logout.php">logout [<?php echo $_SESSION['loggedin'] ?>]</a>
</div>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">

<!-- Hier komt het verborden veld 'go met de waarde 'go' -->
   <input name="go" type="hidden" value="go">
       

<table width="450" border="0" bgcolor="c5caea" align="center">
     <tr>
      <td bgcolor="c5caea">Afbeelding</td>
      <td><input name="afbeelding" type="file" accept="image/jpeg" id="afbeelding" size="40"></tr>
   
<tr><td bgcolor="c5caea">Naam Bedrijf:</td>
      <td><input type='text' name='naam' size=40></tr>

<tr><td bgcolor="c5caea">Omschrijving:</td>
      <td><textarea name='omschrijving' rows='3' cols='40' ></textarea></tr>

<tr><td bgcolor="c5caea">Adres:</td>
      <td><input type='text' name='adres' size=40></tr>

<tr><td bgcolor="c5caea">Tel Nr.:</td>
      <td><input type='text' name='telnr' size=40></tr>

<tr><td bgcolor="c5caea">Website:</td>
      <td><input type='text' name='website' size=40>


    </tr>
    <tr>
      <td bgcolor="c5caea">&nbsp;</td>
      <td><input type="submit" name="Submit" value="Verzenden">
      <input type="reset" name="Reset" value="Herstellen"></td>
    </tr>
  </table>
  <p>

  <?php 
endif;

// Deze procedure wordt aangeroepen nadat men op verzenden heeft gedrukt

if ($go =="go"):
# Deze procedure zordt ervoor dat de afbeeldingen
# op je server worden geplaatst en tevens in je 
# mysql database.

// bepaal de huidige directory
$hello = getcwd();

# hier komen de afbeeldingen, als je 
# het script in de directory hallo hebt geinstalleerd
# dan worden de afbeeldingen in hallo/images/ 
# geplaatst. 

$file_dir = ($hello . "/images/");

# we moeten natuurlijk wel zeker weten 
# dat de directory bestaat. Dit controleren wij
# met de opdracht is_dir via de volgende routine :

if (is_dir ($file_dir)) {
  print "<br><br>++directorty bestaat";  
  }  else {  
  print "<br><br>--Directory bestaat nog niet" . $file_dir;  
    $newpage = $file_dir;
    echo ("<br>we gaan daarom de directory aanmaken");
    mkdir ($newpage, 0777);    
  }  

// toon de systeem datum
echo date("m/d/y G.i:s");


echo ("<br><br>");

# Ik heb besloten om $_FILES als een array te
# laden, zodat je (eventueel) meer afbeeldingen via
# een formulier op je server kunt plaatsen.

foreach($_FILES as $file_name => $file_array) {
       
       # Verander de bestandsnaam zodat het een geldig bestandsnaam wordt 
       # in een Linux omgeving. (Een Mac en een Windows omgeving zijn
       # veel relaxer met bestandsnaam m.b.t. spaties, hoofdletters en 
       # een mengeling van beide, maar dit geldt niet voor Linux, bovendien
       # zijn bestanden in een Linux omgeving hoofdletter gevoelig.
       
       $file_name=str_replace("'", "_", $file_array['name']);
       $file_name=str_replace(" ", "_", $file_array['name']);
       $file_name=stripslashes ($file_name);
       $file_name=trim($file_name);       
       $file_name=strtolower($file_name);    
                 
       echo "path: " .$file_array['tmp_name'] . "<br>\n";
       echo "name: " .$file_name . "<br>\n";    
       echo "type: " .$file_array['type'] ."<br>\n";
       echo "size: " .$file_array['size'] ."<br>\n";
       
       # gebruik de functie afbeeldingen (zie filter.php) om te
       # controleren of het om een afbeelding gaat.
       # de waarde van $test wordt 1 indien het een afbeelding betreft,
       # in alle andere gevallen is $test leeg.

       $test = afbeeldingen($file_name);
       if ($test !=""):
            echo $file_name . " dit is een afbeelding<br>";
            if (is_uploaded_file($file_array['tmp_name'])) {
                 move_uploaded_file($file_array['tmp_name'], "$file_dir/$file_name") or die ("Couldn't copy");
                 echo "Afbeelding staat op de server<br><br>";
                 // voeg de locatie van de afbeelding toe in de database
                 $afbeelding = "/loggedin/images/" . $file_name;
                 
		

		$query = "INSERT INTO afbeelding (nummer, afbeelding, naam, omschrijving, adres, telnr, website) VALUES ('','$afbeelding','$_POST[naam]','$_POST[omschrijving]','$_POST[adres]','$_POST[telnr]','$_POST[website]')";    
                    if(!mysql_db_query($dbname,$query,$db)) die(mysql_error());
                      
                        echo $afbeelding . " is toegevoegd aan de database met als omschrijving : <br>";                    
                        echo $_POST[naam]."<br>" ;
			echo $_POST[omschrijving]."<br>" ;
			echo $_POST[adres]."<br>" ;
			echo $_POST[telnr]."<br>" ;
			echo $_POST[website]."<br>" ;
            }
       endif;                     
       if ($test ==""):    
             echo $file_name . " dit is geen afbeelding en wordt daarom niet op de server geplaatst<br>\n";      
       endif;
  }
endif;

?>  

</form>
<div align="center"><A HREF="javascript:javascript:history.go(-1)">vorige pagina</A>
  
</div> 
Toch niet helemaal voldoende.
Stel je doet ergens (per ongeluk) dit, dan gaat het behoorlik fout.
<?php
$gebruiker = ""; // moest bijv. $klant zijn oid.

if(!$db = safe_db_open($host, $gebruiker, $wachtwoord, $database)){
echo "Het openen van de database is niet gelukt";
echo "De foutmelding luid:" . mysql_connect_error();
?>
Probeer maar eens uit.
Jeps je hebt gelijk;) Ik zal het aanpassen in mijn script;)

Reageren