Foto's koppelen aan rest van invoer.

Status
Niet open voor verdere reacties.
I stand corrected....Ik begon al aan mezelf te twijfelen....


haha daar komt ie idd weg;)
 
Zo nu, dat werkt weer zoals het moet, maar hoe ga ik nu die variablen opvangen, want na mijn submit knopje is er geen php meer.

KAn ik daqar weer een nieuw stukje php openenen?
Lijkt me toch niet, want dan staat het niet meer in relatie tot de rest van het script?

EDIT:

in php tags onder de submit word niet watm want dan vliegt hij direct naar de laatste else van upload.php.:P
En zie ik vrolijk 8 x staan Selecteer een plaatje.

Dat zal dan denk ik ook te maken, dat hij (naar mijn mening nog niet compleet is als functie, gezien het form html is, en dus niet meegenomen wordt in de functie, echter, lijkt me dit ook niet de bedoeling want dan laat hij nog eens 8 x het form zien....
 
Laatst bewerkt:
Je functie moet een functie zijn, en daarbij blijven. Niets van HTML formulieren daarin gaan stoppen. Het formulier wordt dan gewoon buiten je functie aangemaakt, en je roept de variabelen dus ook op buiten je functie. Na de submit knop zet je de variabelen, en schrijf je naar de database.
 
Dus je bedoelt de form uit upload.php halen, deze in de case zetten waar nodig, en daarna de variabelen declareren, en posten?
 
Dus je bedoelt de form uit upload.php halen, deze in de case zetten waar nodig, en daarna de variabelen declareren, en posten?

Juist! De functie is om een functie te blijven. Wat is het nut van een functie, als hij altijd hetzelfde doet? Voorbeeld, je wil nu een land toevoegen, en daarbij maar 2 foto's. Dan moet je weer een nieuw bestand maken, CTRL + C en CTRL + V en dan maar 2 input velden.
 
Right dan begin ik het te snappen...Daar is mijn leerstof nog niet aan toegekomen..;)

Nu eens even uitvogelen hoe ik de post ga leten werken...
 
Nu heb ik dit, echter, zit ik dus nog met het eerste eeuwenpoude probleem van me, dat de 2 knoppen nog steeds hetzelfde doen.

Heb al geprobeerd om met if isset ($_POST['naam'] etc.. te werken, echter dat doet het ook niet...

Tevens krijg ik de post schijnbaar ok niet aan het werk, maar dat kan ik pas goed testen als deze 2 dingen afzonderlijk van elkaar werken...

of wat mij betreft één submit voor het geheel...
Dit blijft bij mij terugkerend , en ik snap het gewoon niet:(

PHP:
	?>

<style type="text/css">
<!--
.style1 {font-family: Arial, Helvetica, sans-serif}
-->
</style>

<form method="post" enctype="multipart/form-data">
<p> Foto's Plaatsen</p>
<table width="100%" border="0">
  <tr>
    
	<?php for($i = 1; $i <= 8; $i++) { ?> 
  
  </tr>  <?php } ?>
  <tr>
  <?php for($i = 1; $i <= 8; $i++) { ?> 
    <td><span class="style1">Foto <?php echo $i ;?><br /></span></td>
    <td><span class="style1">
      <input type="file" name="foto  <?php echo $i ; ?>  " title="foto<?php echo $i; ?>">
    </span><br /></td>
    <td width="9%"><span class="style1">Naam <?php echo $i ; ?></span></td>
    <td width="23%"><input type="text" name="naam"></td>
    <td width="26%">&nbsp;</td>
  </tr><?php } ?>
</table>
<input type="submit" name="verzend" value="Sla op">
</form>
<?php
$foto1 = uploadfoto ('foto1');
$foto2 = uploadfoto ('foto2');
$foto3 = uploadfoto ('foto3');
$foto4 = uploadfoto ('foto4');
$foto5 = uploadfoto ('foto5');
$foto6 = uploadfoto ('foto6');
$foto7 = uploadfoto ('foto7');
$foto8 = uploadfoto ('foto8');

mysql_query("INSERT INTO `reizen_aanbod` (`foto`) VALUES ('$foto1','$foto2','$foto3','$foto4','$foto4','$foto5','$foto6','$foto7','$foto8')")or die("Ongeldige query: " . mysql_error());?>
 
Ik snap ook totaal niet waarom je 2 formulieren nodig hebt? Trouwens, voeg ook eens actions toe aan je form. Dus na <form action = "">

Als je echt 2 formulieren nodig hebt, verander de submit knop.

<input type="submit" name="verzend" value="Sla op">

Naam wordt dan uploadfotos ofzo. Deze van je dan als volgt af;

PHP:
// Als er geklikt is op de verzendknop uploadfotos
if (isset($_POST['uploadfotos']) ){
// definiëren variabele foto van functie uploadfoto
$foto1 = uploadfoto('foto1');
etc.
$query=" .... 
}
 
Haha dat is t m nu juist van mij hoeft het niet MAARRRR, ik weet niet hoe ik het form of de input verwerkt ga krijgen in mijn bestaande case, zover reikt mijn kennis helaas nog niet..
Of zou het bijvoorbeeld kunnen dat ik een for loopje maak voor een input veldje , die 8 x laat zien en dan deze waardes laat posten.

wat ik nu heb is dit:
PHP:
<?php

   

if ($_GET['action'] == 1) {
$sql = "SELECT *  FROM `reizen_aanbod` ";
			$result = $modx->db->query($sql);
			$titel = mysql_result($result,$i,"titel");
			$prijs = mysql_result($result,$i,"prijs");
			$list = '<div class="content_">
					<p>'.$lang_config_header.'</p>
					<form action="index.php?a=112&id='.$modId.'&p=maakreis&action=2" method="post"><b>';
			$list .= '<table style="margin-top:10px; font-size: 12px;">';
			$list .= '<tr><td><strong>'.$lang_config_true.'</strong></td><td>: <input type="text" size="100" maxlength="100" name="titel" value=""></input></td></tr>';
			$list .= '<tr><td><strong>'.$lang_config_false.'</strong></td><td>: <input type="text" size="100" maxlength="100" name="prijs" value=""></input></td></tr>';
						$list .= '<tr><td><strong>'.$lang_reis_sterren.'</strong></td><td>: <select name="sterren">';
						
		$sql = "SELECT * FROM `reizen_sterren` ";
        $result = mysql_query($sql);
         while($disp = mysql_fetch_array($result))
         {
              $list .= '<option value="'.$disp['sterren'].'">  '.$disp['sterren'].' </option>'; 
         }

			$list .= '</select></td></tr>';
			$sql = "SELECT *  FROM `reizen_aanbod` ";
			$result = $modx->db->query($sql);
			$list .= '<tr><td><strong>'.$lang_config_senderemail.'</strong></td><td>: <textarea  name="tekst" value="'.mysql_result($result,$i,"tekst").'"></textarea></td></tr>';
		    
			$list .= '<tr><td>&nbsp;</td><td>&nbsp;&nbsp;'.$lang_config_auth_description.'</td></tr>';

		
			$list .= '<tr><td><strong>'.$lang_config_authpassword.'</strong></td><td> <input type="radio" name="aanbieding" value="Ja">Ja<br /><input type="radio" name="aanbieding" value="Nee">Nee</input></td></tr>';
			
// -------------------------------------------------		
				$list .= '<tr><td><strong>'.$lang_reis_soort.'</strong></td><td>: <select name="soort">';
		$sql = "SELECT * FROM `reizen_soort` ";
        $result = mysql_query($sql);
         while($disp = mysql_fetch_array($result))
         {
              $list .= '<option value="'.$disp['soort'].'">  '.$disp['soort'].' </option>'; 
         }

			$list .= '</select></td></tr>';
			
			
			
			$list .= '<tr><td><strong>'.$lang_reis_accommodatie.'</strong></td><td>: <select name="accommodatie">';
		$sql = "SELECT * FROM `reizen_accommodatie` ";
        $result = mysql_query($sql);
         while($disp = mysql_fetch_array($result))
         {
              $list .= '<option value="'.$disp['accommodatie'].'">  '.$disp['accommodatie'].' </option>'; 
         }

			$list .= '</select></td></tr>';
								
			$list .= '<tr><td><strong>'.$lang_config_lang_website.'</strong></td><td>: <select name="gebied">';
		$sql = "SELECT * FROM `reizen_gebieden` ";
        $result = mysql_query($sql);
         while($disp = mysql_fetch_array($result))
         {
              $list .= '<option value="'.$disp['gebied'].'">  '.$disp['gebied'].' </option>'; 
         }

			$list .= '</select></td></tr>';
			
			//Foto Upload
			$list .= '
// -------------------------------------------------
			$list .= '</table>';
			$list .= '<br /><input type="submit" name="opslaan" value="'.$lang_config_save.'"></input><br /><br />';
			echo $list;
		
		    }elseif ($_GET['action'] == 2) {
			// Voeg reis Toe
			$sql = "INSERT INTO reizen_aanbod VALUES('','".$_POST['titel']."','".$_POST['sterren']."','".$_POST['tekst']."', '".$_POST['prijs']."', '".$_POST['soort']."', '".$_POST['accommodatie']."', '".$_POST['aanbieding']."',now(),'".$_POST['gebied']."','" .$_POST['foto']."') ";
			$result = $modx->db->query($sql);
			echo $lang_config_update;	
		}
	include 'upload.php';



	?>

<style type="text/css">
<!--
.style1 {font-family: Arial, Helvetica, sans-serif}
-->
</style>

<form method="post" enctype="multipart/form-data">
<p> Foto's Plaatsen</p>
<table width="100%" border="0">
  <tr>
    
	<?php for($i = 1; $i <= 8; $i++) { ?> 
  
  </tr>  <?php } ?>
  <tr>
  <?php for($i = 1; $i <= 8; $i++) { ?> 
    <td><span class="style1">Foto <?php echo $i ;?><br /></span></td>
    <td><span class="style1">
      <input type="file" name="foto  <?php echo $i ; ?>  " title="foto<?php echo $i; ?>">
    </span><br /></td>
    <td width="9%"><span class="style1">Naam <?php echo $i ; ?></span></td>
    <td width="23%"><input type="text" name="naam"></td>
    <td width="26%">&nbsp;</td>
  </tr><?php } ?>
</table>
<input type="submit" name="verzend" value="Sla op">
</form>
<?php
$foto1 = uploadfoto ('foto1');
$foto2 = uploadfoto ('foto2');
$foto3 = uploadfoto ('foto3');
$foto4 = uploadfoto ('foto4');
$foto5 = uploadfoto ('foto5');
$foto6 = uploadfoto ('foto6');
$foto7 = uploadfoto ('foto7');
$foto8 = uploadfoto ('foto8');

mysql_query("INSERT INTO `reizen_aanbod` (`foto`) VALUES ('$foto1','$foto2','$foto3','$foto4','$foto4','$foto5','$foto6','$foto7','$foto8')")or die("Ongeldige query: " . mysql_error());?>

EDIT: Tevens nog een probleem, wanneer ik de link aanklik in het menu die verwijst naar action 1, maakt hjj ook gelijk een INSERT in de DB, dus ik vermoed dat action 1 niet goed is afgesloten , maar ik kan niet vinden waar...
 
Laatst bewerkt:
Je hebt alsnog td's in je for loopje, en geen tr. Dus je krijgt alsnog alles achter elkaar... Verder, je $foto1, $foto2 moet je pas na de submit button zetten. Wat ik net zei na isset blabla. Want op deze manier is het veld altijd leeg natuurlijk... en heb je enkel lege variabelen. Goede for loop

PHP:
                for($i = 1; $i <= 8; $i++) { ?>
                    <tr>
                        <td>Foto <?php echo $i; ?></td>
                        <td><input type="file" name="foto<?php echo $i; ?>" title="foto<?php echo $i; ?>" />Bestandsnaam?<input type="text" name="naam" title="naam" value="naam<?php echo $i; ?>" /></td>
                    </tr><?php 
                }
 
Ik ga me van het weekend eerst maar eens weer een beetje inlezen , want nu kom ik er niet meer ut, ik heb je for loop nagamaakt, maar het werkt nog niet zoals het moet, upload.php springt gelijk door naar de laatste else, cas2.php, maakt bij benadren direct een record aan in de database.

Ik denk dat het feit dat het vrijdagmiddag is meespeelt hierin;)

Mag ik je in ieder geval hartelijk danken vor je tijd en wijze lessen:thumb:, ik heb de hele conversatie even opgeslagen, als naslagwerk voor mezelf.

Begin er maandag met frisse moed weer aan, en misschien snap ik het dan, of anders meld ik me miosschien nog even

Fijn weekend
 
Wat je eigenlijk moet doen is, bij veel regels commentaar zetten. Zo kan je niet alleen zelf, maar ook anderen, achteraf zien wat je code doet of moet doen. Ik heb zelf van iemand een index.php bestand gekregen met 1200 regels code, en 2 daarvan zijn commentaar. Daar is dus niet uit te komen.

Als je nu dus weet dat hij meteen naar de else gaat, weet je dat er iets mis is met je constructie van je if. Mocht je er nog problemen mee hebben, hoor ik het wel. Probeer altijd genoeg informatie te geven, de error die hij aangeeft en ook je code ;)
 
Nou ik heb er nu dit van gemaakt:
PHP:
<?php

   

if ($_GET['action'] == 1) {
$sql = "SELECT *  FROM `reizen_aanbod` ";
			$result = $modx->db->query($sql);
			$titel = mysql_result($result,$i,"titel");
			$prijs = mysql_result($result,$i,"prijs");
			$list = '<div class="content_">
					<p>'.$lang_config_header.'</p>
					<form action="index.php?a=112&id='.$modId.'&p=maakreis&action=2" method="post"><b>';
			$list .= '<table style="margin-top:10px; font-size: 12px;">';
			$list .= '<tr><td><strong>'.$lang_config_true.'</strong></td><td>: <input type="text" size="100" maxlength="100" name="titel" value=""></input></td></tr>';
			$list .= '<tr><td><strong>'.$lang_config_false.'</strong></td><td>: <input type="text" size="100" maxlength="100" name="prijs" value=""></input></td></tr>';
						$list .= '<tr><td><strong>'.$lang_reis_sterren.'</strong></td><td>: <select name="sterren">';
						
		$sql = "SELECT * FROM `reizen_sterren` ";
        $result = mysql_query($sql);
         while($disp = mysql_fetch_array($result))
         {
              $list .= '<option value="'.$disp['sterren'].'">  '.$disp['sterren'].' </option>'; 
         }

			$list .= '</select></td></tr>';
			$sql = "SELECT *  FROM `reizen_aanbod` ";
			$result = $modx->db->query($sql);
			$list .= '<tr><td><strong>'.$lang_config_senderemail.'</strong></td><td>: <textarea  name="tekst" value="'.mysql_result($result,$i,"tekst").'"></textarea></td></tr>';
		    
			$list .= '<tr><td>&nbsp;</td><td>&nbsp;&nbsp;'.$lang_config_auth_description.'</td></tr>';

		
			$list .= '<tr><td><strong>'.$lang_config_authpassword.'</strong></td><td> <input type="radio" name="aanbieding" value="Ja">Ja<br /><input type="radio" name="aanbieding" value="Nee">Nee</input></td></tr>';
			
// -------------------------------------------------		
				$list .= '<tr><td><strong>'.$lang_reis_soort.'</strong></td><td>: <select name="soort">';
		$sql = "SELECT * FROM `reizen_soort` ";
        $result = mysql_query($sql);
         while($disp = mysql_fetch_array($result))
         {
              $list .= '<option value="'.$disp['soort'].'">  '.$disp['soort'].' </option>'; 
         }

			$list .= '</select></td></tr>';
			
			
			
			$list .= '<tr><td><strong>'.$lang_reis_accommodatie.'</strong></td><td>: <select name="accommodatie">';
		$sql = "SELECT * FROM `reizen_accommodatie` ";
        $result = mysql_query($sql);
         while($disp = mysql_fetch_array($result))
         {
              $list .= '<option value="'.$disp['accommodatie'].'">  '.$disp['accommodatie'].' </option>'; 
         }

			$list .= '</select></td></tr>';
								
			$list .= '<tr><td><strong>'.$lang_config_lang_website.'</strong></td><td>: <select name="gebied">';
		$sql = "SELECT * FROM `reizen_gebieden` ";
        $result = mysql_query($sql);
         while($disp = mysql_fetch_array($result))
         {
              $list .= '<option value="'.$disp['gebied'].'">  '.$disp['gebied'].' </option>'; 
         }

			$list .= '</select></td></tr>';
			
			
// -------------------------------------------------
			$list .= '</table>';
			$list .= '<br /><input type="submit" name="opslaan" value="'.$lang_config_save.'"></input><br /><br />';
			echo $list;}
			
		
		    else ($_GET['action'] == 2) {
			// Voeg reis Toe
			$sql = "INSERT INTO reizen_aanbod VALUES('','".$_POST['titel']."','".$_POST['sterren']."','".$_POST['tekst']."', '".$_POST['prijs']."', '".$_POST['soort']."', '".$_POST['accommodatie']."', '".$_POST['aanbieding']."',now(),'".$_POST['gebied']."','" .$_POST['foto']."') ";
			$result = $modx->db->query($sql);
			echo $lang_config_update;	
		}
	include 'upload.php';


	?>

<style type="text/css">
<!--
.style1 {font-family: Arial, Helvetica, sans-serif}
-->
</style>

<form method="post" form action=""  enctype="multipart/form-data">
<p> Foto's Plaatsen</p>
<table width="100%" border="0">
  <tr>
    

  
  </tr> 
  <tr>
 
  
 <?php for($i = 1; $i <= 8; $i++) { ?>
                    <tr>
                        <td>Foto <?php echo $i; ?></td>
                        <td><input type="file" name="foto<?php echo $i; ?>" title="foto<?php echo $i; ?>" />
						Bestandsnaam<input type="text" name="naam" title="naam" value="naam<?php echo $i; ?>" /></td>
                    </tr><?php
                  } ?>
</table>
<input type="submit" name="uploadfotos" value="Sla op">
</form>
<?php // Als er geklikt is op de verzendknop uploadfotos
if (isset($_POST['uploadfotos']) ){
// definiëren variabele foto van functie uploadfoto
$foto1 = uploadfoto ('foto1');
$foto2 = uploadfoto ('foto2');
$foto3 = uploadfoto ('foto3');
$foto4 = uploadfoto ('foto4');
$foto5 = uploadfoto ('foto5');
$foto6 = uploadfoto ('foto6');
$foto7 = uploadfoto ('foto7');
$foto8 = uploadfoto ('foto8');
$query="";

} ?>
maar dan krijg ik op de een of andere manier, de melding , unexpected { op lijn 75(waar mijn else statement opent) , ik meene toch echt dat het zo goed moest zijn
 
Whaha, je liet me even goed nadenken. Ik zag het niet meteen. Maar achter je else heb je iets staan, en dat kan niet. Je zegt namelijk, als 1 = 1 doe dit anders 2=2. En de anders is gewoon als 1 niet 1 is (jip en janneke taal dan :P). Wat je daar wel kan doen is neerzetten:

PHP:
else if ($_GET['action'] == 2) {

Aangezien je daaronder niets meer hebt staan, zal een else al voldoende zijn naar mijn mening ;) (dus zonder die zooi tussen haakjes erachter)
 
Haha die jip en janneke taal bevalt me wel, :P dat snap ik tenminste:P

Maar, ik heb hem ondertussen even opnieuw geschreven(zal vast nog wat sloppy zijn, maar nu weet ik in ieder geval van de hoed en de rand, want heb hem zelf gemaakt(een afgeleide van bewerk.php)

En daar had ik hetzelfde probleem, wat dus lag aan het volgende (de foto upload die ik er onder had gezet, met de functie weet je wel ;)

Ik heb nu

maakaan.php
PHP:
<?php include 'dbconnect.php'; 

$query="SELECT * FROM reizen_aanbod
        WHERE id = '".$_GET['nid']."' ";
		//query uitvoeren
		$result = mysql_query($query) or die(mysql_error());
		while ($record = mysql_fetch_array($result)) {
			$titel = $record['titel'];
			$prijs = $record['prijs'];
			$sterren = $record['sterren'];
			$tekst = $record['tekst'];
			$aanbieding = $record['aanbieding'];
			$soort = $record['soort'];
			$accommodatie = $record['accommodatie'];
			$gebied = $record['gebied'];
			}

	
	
	$list .= ' <select name="soort">';
$sql = "SELECT * FROM `reizen_soort` ";
        $result = mysql_query($sql);
         while($disp = mysql_fetch_array($result))
         {
              $list .= '<option value="'.$disp['soort'].'">  '.$disp['soort'].' </option>';          }
			  $list .= '</select></td></tr>';
		
	$list1 .= ' <select name="gebied">';
$sql = "SELECT * FROM `reizen_gebieden` ";
        $result = mysql_query($sql);
         while($disp = mysql_fetch_array($result))
         {
              $list1 .= '<option value="'.$disp['gebied'].'">  '.$disp['gebied'].' </option>';          }
			  $list1 .= '</select></td></tr>';
	
	$list2 .= ' <select name="accommodatie">';
$sql = "SELECT * FROM `reizen_accommodatie` ";
        $result = mysql_query($sql);
         while($disp = mysql_fetch_array($result))
         {
              $list2 .= '<option value="'.$disp['accommodatie'].'">  '.$disp['accommodatie'].' </option>';          }
			  $list2 .= '</select></td></tr>';
			
	$list3 .= '<select name="sterren">';
$sql = "SELECT * FROM `reizen_sterren` ";
$result = mysql_query($sql);
		while($disp = mysql_fetch_array($result))
		{
			$list3 .= '<option value="' .$disp['sterren'].'"> '.$disp['sterren'].' </option>';	}
			$list3 .= '</select></td></tr>';
			
	
		?>
<table>
<form method="post" action="" enctype="multipart/form-data">
<tr>
<td>Titel</td>
<td><input type="text" value="<?php echo $titel; ?>" name="titel" /></td>
</tr>
<tr>
<td>Prijs</td>
<td>
<input type="text" value="<?php echo $prijs; ?>" name="prijs" /> (invullen met eventuele punt dus geen komma)</td>
</tr>
<tr>
<td>Sterren</td>
<td><?php echo $list3;?></td>
</tr>
<tr>
<td>Beschrijving</td>
<td><textarea type="text" value="<?php echo $tekst; ?>" name="tekst" /></textarea> (invullen met eventuele punt dus geen komma)</td>
</tr>
<tr>
<td>Aanbieding</td>
<td><input type="checkbox" value="Ja" name="aanbieding" />Vink aan als het een aanbieding is, dan verschijnt deze reis op de voorpagina!</td>
</tr>
<tr>
<td>Soort</td>
<td><?php echo $list;?></td>
</tr>
<tr>
<td>Accommodatie</td>
<td><?php echo $list2 ;?></td>
</tr>
<tr>
<td>Regio</td>
<td><?php echo $list1;?></td>
</tr>
<tr>
</table>
<input type="submit" name="submit" value="Sla op!">
</form>
<?php 				
				//Voeg toe aan Database
				if (isset($_POST['submit'])){
$sql = "INSERT INTO reizen_aanbod VALUES('','".$_POST['titel']."','".$_POST['sterren']."','".$_POST['tekst']."', '".$_POST['prijs']."', '".$_POST['soort']."', '".$_POST['accommodatie']."', '".$_POST['aanbieding']."',now(),'".$_POST['gebied']."','" .$_POST['foto']."') ";
		$result = mysql_query($sql) or die(mysql_error());
		echo "Opgeslagen";
		}	
    else{
	}	?>

Dat wat eronder stond is dit: (als ik dit dus weghaal, dan maakt hij niet uitzichzelf records aan)
PHP:
<?php include 'upload.php';?>

<style type="text/css">
<!--
.style1 {font-family: Arial, Helvetica, sans-serif}
-->
</style>

<form method="post" form action=""  enctype="multipart/form-data">
<p> Foto's Plaatsen</p>
<table width="100%" border="0">
  <tr>
    

  
  </tr> 
  <tr>
 
  
 <?php for($i = 1; $i <= 8; $i++) { ?>
                    <tr>
                        <td>Foto <?php echo $i; ?></td>
                        <td><input type="file" name="foto<?php echo $i; ?>" title="foto<?php echo $i; ?>" />
						Bestandsnaam<input type="text" name="naam" title="naam" value="naam<?php echo $i; ?>" /></td>
                    </tr><?php
                  } ?>
</table>
<input type="submit" name="uploadfotos" value="Sla op">
</form>
<?php // Als er geklikt is op de verzendknop uploadfotos
if (isset($_POST['uploadfotos']) ){
// definiëren variabele foto van functie uploadfoto
$foto1 = uploadfoto ('foto1');
$foto2 = uploadfoto ('foto2');
$foto3 = uploadfoto ('foto3');
$foto4 = uploadfoto ('foto4');
$foto5 = uploadfoto ('foto5');
$foto6 = uploadfoto ('foto6');
$foto7 = uploadfoto ('foto7');
$foto8 = uploadfoto ('foto8');
$query="";

} ?>

De functie:
PHP:
<?php

include($modx->config['base_path'].'manager/includes/config.inc.php');
function uploadfoto($foto) {


//kijken of er een bestand is geselecteerd 
if(isset($_FILES['$foto'])) { 
    //als het bestand groter is dan 2048000 bytes(2MB) word hij niet toegelaten 
    if($_FILES['$foto']['size'] > 2048000) { 
        echo "Het bestand is <b>" . $_FILES['$foto']['size'] . "</b>, het maximale toegstaan is <b>2MB</b>"; 
    } else { 
        //kijken of het bestand wel een gif, png of jpg is 
        if($_FILES['bestand']['type'] == "image/gif" || $_FILES['$foto']['type'] == "files/gif"  || $_FILES['$foto']['type'] == "image/pjpeg" || $_FILES['$foto']['type'] == "image/jpeg") { 
            //kijken of er een nieuwe naam aan het bestand is gegeven 
            if(empty($_POST['naam'])) { 
                $naam = $_FILES['$foto']['name']; 
            } else { 
                //strip de extensie om die achter de nieuwe bestandsnaam te plakken 
                $x = strrchr($_FILES['$foto']['name'], "."); 
                $naam = $_POST['naam'] . $x; 
            } 
           
			//variabele voor het ophalen van de image locatie
        $link = "http://localhost/modx/modx/assets/modules/reizen/foto/" . $naam;
            //het bestand uploaden met de nieuwe of oude naam 
            move_uploaded_file($_FILES['$foto']['tmp_name'], "/xampp/htdocs/modx/modx/assets/modules/reizen/foto/" . $naam); 
            //voor linux of unix hosts chmodden we het bestand naar 777 zodat iedereen um kan zien 
            chmod("/xampp/htdocs/modx/modx/assets/modules/reizen/foto/" . $naam, 0777); 
			echo "Bestand uploaden gelukt!<br />";
            echo "<img src=\"$link\" width=\"150\" height=\"150\">";
			echo "bestand uploaden gelukt!";
						
	} else { 
            echo "Het bestand is geen png, jpg of gif"; 
        } 
}
	} else { 
			echo "Selecteer een plaatje"; 
		} 
	}

mysql_query("INSERT INTO `reizen_aanbod` (`foto`) VALUES ('$foto')")or die("Ongeldige query: " . mysql_error());

?>
 
Laatst bewerkt:
Je hebt nu nog een probleempje, of...? :D

Betreffende je upload, haal daar die query weg. Neem aan dat je foto's aan een reis wil hangen, en niet al in je functie naar database wil schrijven. Tevens moet je na de regel het uploaden is gelukt (die regel kan eigenlijk ook weg, aangezien je niets print), je naam van het plaatje teruggeven/ returnen.

return $naam;

Of return $link;, weet ik veel wat je precies naar de database wil schrijven. Mij lijkt het logischer om alleen de naam te geven, want je kunt altijd laterna nog het pad aanpassen in je php code. Mocht je ooit mappen gaan verplaatsen (of zelfs alles online zetten), heb je weinig aan de inhoud van die velden.
 
Euh ja, het probleem is, dat wanneer ik de upload code, onder de maakaan(of bewerk.php) zet, dan maakt hij dus bij benadering direct een (leeg) record aan:P

En het is idd zo dat ik de foto's aan een reis wil gaan hangen, met een max. van 8, zodat ik ze later op de frontend weer kan tonen.

Wat ik naar de database wil schrijven is dus de locatie van het plaatje, met evt een ALT tekst, die ik later op de frontend kan tonen;)
 
Naja, je moet zelf ook een beetje inzet tonen/ kijken waar je probleem eventueel liggen kan. Heb je namelijk al een heel end in de goede richting geduwd. Als je ongeveer weet waar het probleem ligt, weet je natuurlijk ook waar je moet zoeken.
Je moet je velden van je foto's natuurlijk in hetzelfde form douwen, als al je andere invulvelden. Je sluit namelijk eerst je form af, en daarna maak je nog eens een keer een form aan. Je zal de post values van je foto's dus meteen mee moeten sturen met je reis, anders kan het niet aan elkaar gelinkt worden natuurlijk. Bij het op submit drukken, kan dus de variabele van de foto's niet uitgelezen worden, en zullen deze blanco zijn.
Voor het schrijven naar de database heb ik voorheen al gezegd, als ook het aanmaken van de alt.
 
Klopt!

Nu ben ik al weer een eindje, en de problemen zitten hem volgens mij in de function, op de een of andere manier rent hij daar zo voorbij, en doet dus niks.

ALs ik wat schuif met } , dan is t beste resultaat wat ik krijg dat hij doorspring naar de laatste else(terwijl ik wel geldige input geef).

Ik weet dus niet zo 1,2,3 waar de fout nu zit:(

Function nu:
PHP:
<?php

include($modx->config['base_path'].'manager/includes/config.inc.php');
function uploadfoto($foto) {

//kijken of er een bestand is geselecteerd 
if(isset($_FILES['$foto'])) { 
    //als het bestand groter is dan 2048000 bytes(2MB) word hij niet toegelaten 
    if($_FILES['$foto']['size'] > 2048000) { 
        echo "Het bestand is <b>" . $_FILES['$foto']['size'] . "</b>, het maximale toegstaan is <b>2MB</b>"; 
    } else { 
        //kijken of het bestand wel een gif, png of jpg is 
        if($_FILES['bestand']['type'] == "image/gif" || $_FILES['$foto']['type'] == "files/gif"  || $_FILES['$foto']['type'] == "image/pjpeg" || $_FILES['$foto']['type'] == "image/jpeg") { 
            //kijken of er een nieuwe naam aan het bestand is gegeven 
            if(empty($_POST['naam'])) { 
                $naam = $_FILES['$foto']['name']; 
            } else { 
                //strip de extensie om die achter de nieuwe bestandsnaam te plakken 
                $x = strrchr($_FILES['$foto']['name'], "."); 
                $naam = $_POST['name'] . $x; 
            } 
			
			
            //het bestand uploaden met de nieuwe of oude naam 
            move_uploaded_file($_FILES['$foto']['tmp_name'], "/xampp/htdocs/modx/modx/assets/modules/reizen/foto/" . $naam); 
            //voor linux of unix hosts chmodden we het bestand naar 777 zodat iedereen um kan zien 
            chmod("/xampp/htdocs/modx/modx/assets/modules/reizen/foto/" . $naam, 0777); 
			echo "Bestand uploaden gelukt!<br />";
            echo "<img src=\"$link\" width=\"150\" height=\"150\">";
			echo "bestand uploaden gelukt!";
			return $naam;			
	} else { 
            echo "Het bestand is geen png, jpg of gif"; 
        } 
   }

}
   }

?>
 
Zo dan?

PHP:
<?php
include($modx->config['base_path'].'manager/includes/config.inc.php');
function uploadfoto($foto) {
	//kijken of er een bestand is geselecteerd 
	if(isset($_FILES[$foto])) { 
		//als het bestand groter is dan 2048000 bytes(2MB) word hij niet toegelaten 
		if($_FILES[$foto]['size'] > 2048000) { 
			echo "Het bestand is <b>" . $_FILES[$foto]['size'] . "</b>, het maximale toegstaan is <b>2MB</b>"; 
		} 
		else { 
			//kijken of het bestand wel een gif, png of jpg is 
			if($_FILES['bestand']['type'] == "image/gif" || $_FILES[$foto]['type'] == "files/gif"  || $_FILES[$foto]['type'] == "image/pjpeg" || $_FILES[$foto]['type'] == "image/jpeg") { 
				//kijken of er een nieuwe naam aan het bestand is gegeven 
				if(empty($_POST['naam'])) { 
					$naam = $_FILES[$foto]['name']; 
				} 
				else { 
					//strip de extensie om die achter de nieuwe bestandsnaam te plakken 
					$x = strrchr($_FILES[$foto]['name'], "."); 
					$naam = $_POST['name'] . $x; 
				}         
				//het bestand uploaden met de nieuwe of oude naam 
				move_uploaded_file($_FILES[$foto]['tmp_name'], "/xampp/htdocs/modx/modx/assets/modules/reizen/foto/" . $naam); 
				//voor linux of unix hosts chmodden we het bestand naar 777 zodat iedereen um kan zien 
				chmod("/xampp/htdocs/modx/modx/assets/modules/reizen/foto/" . $naam, 0777); 
				echo "Bestand uploaden gelukt!<br />";
				echo "<img src=\"$link\" width=\"150\" height=\"150\">";
				echo "bestand uploaden gelukt!";
				return $naam;           
			} 
			else { 
				echo "Het bestand is geen png, jpg of gif"; 
			} 
		}	 
	}
}
 
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan