Wanneer ik gegevens wijzig en op "Opslaan" druk krijg ik de melding dat de wijzigingen goed zijn doorgevoerd, maar er wordt niks gewijzigd en opgeslagen in de database. Ik denk zelf dat het aan het volgende stukje script ligt:

// opslaan
	if (isset($_POST['opslaan'])){
		for ($i = 0; $i <= $_POST['maxid'];$i++){				
			if (isset($_POST[$i])){
				$naam = $i."naam";
				$afdeling = $i."afdeling";
				$internnummer = $i."internnummer";
				$nummer = $i."nummer";
				$inlog = $i."inlog";
				mysql_query("UPDATE gsm SET 
					`naam` = '".$_POST[$naam]."',		
					`afdeling` = '".$_POST[$afdeling]."',
					`nummer` = '".$_POST[$nummer]."',					
					`internnummer` = '".$_POST[$internnummer]."', 
					`inlog` = '".$_POST[$inlog]."', 
					WHERE `id` = $i
				") or die (mysql_error());
			}
		}
		echo "De gegevens zijn succesvol bijgewerkt.<br>";
	}
	
	// bewerken
	if (isset($_POST['update'])){
		$maxid = 0;



Deel van de code:

<?php
//includes
include('config.php');

//session start
if(isset($_SESSION['id'])) {
} else{
	header("Location: index.php?pagina=beheer");
}
	// verwijderen
	if (isset($_POST['verwijder'])){
		foreach($_POST['telid'] As $value ){
			mysql_query("DELETE FROM `gsm` WHERE `id` = $value") or die (mysql_error());
			}
	}
	
	// opslaan
	if (isset($_POST['opslaan'])){
		for ($i = 0; $i <= $_POST['maxid'];$i++){				
			if (isset($_POST[$i])){
				$naam = $i."naam";
				$afdeling = $i."afdeling";
				$internnummer = $i."internnummer";
				$nummer = $i."nummer";
				$inlog = $i."inlog";
				mysql_query("UPDATE gsm SET 
					`naam` = '".$_POST[$naam]."',		
					`afdeling` = '".$_POST[$afdeling]."',
					`nummer` = '".$_POST[$nummer]."',					
					`internnummer` = '".$_POST[$internnummer]."', 
					`inlog` = '".$_POST[$inlog]."', 
					WHERE `id` = $i
				") or die (mysql_error());
			}
		}
		echo "De gegevens zijn succesvol bijgewerkt.<br>";
	}
	
	// bewerken
	if (isset($_POST['update'])){
		$maxid = 0;
	?>
		
    <form name="verzenden" action="" method="post">
    <h2>Bewerken</h2>
	
    <?php
		foreach($_POST['telid'] As $value ){
			echo "<input type='hidden' name='telid' value=$value />";
			
			// select
			$result2 = mysql_query("SELECT * FROM `gsm` WHERE id=$value");
			while($row2 = mysql_fetch_array( $result2 )) {
					
					echo "<b>".$row2['naam']."</b><br>";
					echo "<table>";
					echo "<td>Naam: </td><td><input type='text' size='25' name='".$id."naam' value='".$row2['naam']."' /></td>";
					echo "</tr><tr>";
					echo "<td>Telefoonnummer: </td><td><input type='text' size='25' name='".$id."nummer' value='".$row2['nummer']."' /></td>";
					echo "</tr><tr>";
					echo "<td>Inlognaam: </td><td><input type='text' size='25' name='".$id."inlog' value='".$row2['inlog']."' /></td>";					
					echo "</tr><tr>";
					echo "<td>Afdeling: </td><td><input type='text' size='25' name='".$id."afdeling' value='".$row2['afdeling']."' /></td>";
					echo "</tr><tr>";
					echo "<td>Intern verkort nummer: </td><td><input type='text' size='25' name='".$id."internnummer' value='".$row2['internnummer']."' /></td>";					
					echo "</tr></table>";
					

					
					if ($id > $maxid){
						$maxid = $id;
					}
				} 
		}
	echo "<input type='hidden' name='maxid' value='".$maxid."' />";
	?>
	<br>
	<center>
   
    <input type='submit' name='opslaan' value='Opslaan' />
    </center>
	</form>
    <?php
	} else {
	
	echo "<h2>Gegevens bewerken</h2>";
	?>

<?
 if (isset($_POST['opslaan'])){
        for ($i = 0; $i <= $_POST['maxid'];$i++){       
         echo "nr 1, doorgaan naar nr 2<br />";
            if (isset($_POST[$i])){
         echo "nr 2, doorgaan naar nr 3<br />";
                $naam = $i."naam";
                $afdeling = $i."afdeling";
                $internnummer = $i."internnummer";
                $nummer = $i."nummer";
                $inlog = $i."inlog";
         echo "nr 3, doorgaan naar nr 4<br />";
                mysql_query("UPDATE gsm SET naam = '".$_POST[$naam]."',        
                    afdeling = '".$_POST[$afdeling]."',
                    nummer = '".$_POST[$nummer]."',                    
                    internnummer = '".$_POST[$internnummer]."', 
                    inlog = '".$_POST[$inlog]."', 
                    WHERE id = $i") 
                    or die (mysql_error());
           echo "nr 4, doorgaan naar nr 5<br />";
            }
 echo "nr 5 debugging gestopt.<br />Succesvol uitgewerkt. Ook de query";
        }
         //echo "De gegevens zijn succesvol bijgewerkt.<br>";
    }
?>


Kopieren, en gebruiken...

Als hij alle stappen doorloopt, is er niks mis met je script....
excuses. zijn al heel wat posts, om alles te bestuderen, muah.
Script vanmij laat per stuk een echo zien, dan zie je gelij op welk deel hij stuk loopt, trust me...
Leon Kunst schreef op 18.03.2009 14:02

<?
 if (isset($_POST['opslaan'])){
        for ($i = 0; $i <= $_POST['maxid'];$i++){       
         echo "nr 1, doorgaan naar nr 2<br />";
            if (isset($_POST[$i])){
         echo "nr 2, doorgaan naar nr 3<br />";
                $naam = $i."naam";
                $afdeling = $i."afdeling";
                $internnummer = $i."internnummer";
                $nummer = $i."nummer";
                $inlog = $i."inlog";
         echo "nr 3, doorgaan naar nr 4<br />";
                mysql_query("UPDATE gsm SET naam = '".$_POST[$naam]."',        
                    afdeling = '".$_POST[$afdeling]."',
                    nummer = '".$_POST[$nummer]."',                    
                    internnummer = '".$_POST[$internnummer]."', 
                    inlog = '".$_POST[$inlog]."', 
                    WHERE id = $i") 
                    or die (mysql_error());
           echo "nr 4, doorgaan naar nr 5<br />";
            }
 echo "nr 5 debugging gestopt.<br />Succesvol uitgewerkt. Ook de query";
        }
         //echo "De gegevens zijn succesvol bijgewerkt.<br>";
    }
?>


Kopieren, en gebruiken...

Als hij alle stappen doorloopt, is er niks mis met je script....


Dit weergeeft ie als enige:
nr 1, doorgaan naar nr 2
nr 5 debugging gestopt.
Succesvol uitgewerkt. Ook de querynr 1, doorgaan naar nr 2
nr 5 debugging gestopt.

Dat betekend dan toch dat de fout bij nr 2 zit, wat ik hiervoor al aangaf
dat betekend dat $i niet gezet is. wat is $i? of moet ik je code bestuderen *sorry voor mijn late binnenkomst*
wesley schreef op 18.03.2009 14:11
dat betekend dat $i niet gezet is. wat is $i? of moet ik je code bestuderen *sorry voor mijn late binnenkomst*


$maxid = $id;

for ($i = 0; $i <= $_POST['maxid'];$i++){
if (isset($_POST[$i])){
$naam = $i."naam";
$id = $i."id";
$afdeling = $i."afdeling";
$groep = $i."groep";
$inlog = $i."inlog";
mysql_query("UPDATE intern SET
`naam` = '".$_POST[$naam]."',
`afdeling` = '".$_POST[$afdeling]."',
`groep` = '".$_POST[$groep]."',
`inlog` = '".$_POST[$inlog]."',
WHERE `id` = $i
") or die (mysql_error());
}

Hier komt $i als enige voor. maar dan wordt $i toch gezet?
ja maar je kijkt of de $i gepost is, dus ik neem aan dat je opties hebt in je form met getallen, als er niks gezet is komt er ook geen query.
Kom er ff niet meer uit nu...
Hier mijn volledige code op dit moment:

<?php
ini_set('display_errors' , 1);
error_reporting(E_ALL);

//includes
include('config.php');
include('dbcon.php');

//session start
if(isset($_SESSION['id'])) {
} else{
	header("Location: index.php?pagina=beheer");
}
	// verwijderen
	if (isset($_POST['verwijder'])){
		foreach($_POST['telid'] As $value ){
			$sql1 = "DELETE FROM gsm WHERE id = $value"; 
			$query1 = mysql_query($sql1);
			if (!$query1) {
			echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql1;
			} 
			else{
				echo "SQL klopt: ".$sql1;
				}
			}
	}
	
	// opslaan
	 if (isset($_POST['opslaan'])){
        for ($i = 0; $i <= $_POST['maxid'];$i++){       
         echo "nr 1, doorgaan naar nr 2<br />";
            if (isset($_POST[$i])){
         echo "nr 2, doorgaan naar nr 3<br />";
                $naam = $i."naam";
                $afdeling = $i."afdeling";
                $internnummer = $i."internnummer";
                $nummer = $i."nummer";
                $inlog = $i."inlog";
         echo "nr 3, doorgaan naar nr 4<br />";
                mysql_query("UPDATE gsm SET naam = '".$_POST[$naam]."',        
                    afdeling = '".$_POST[$afdeling]."',
                    nummer = '".$_POST[$nummer]."',                    
                    internnummer = '".$_POST[$internnummer]."', 
                    inlog = '".$_POST[$inlog]."', 
                    WHERE id = $i") 
                    or die (mysql_error());
           echo "nr 4, doorgaan naar nr 5<br />";
            }
 echo "nr 5 debugging gestopt.<br />Succesvol uitgewerkt. Ook de query";
        }
         //echo "De gegevens zijn succesvol bijgewerkt.<br>";
    }
	
	// bewerken
	if (isset($_POST['update'])){
		$maxid = 0;
	?>
		
    <form name="verzenden" action="" method="post">
    <h2>Bewerken</h2>
	
    <?php
		foreach($_POST['telid'] As $value ){
			echo "<input type='hidden' name='telid' value=$value />";
			
			// select
			$sql3 = "SELECT * FROM gsm WHERE id=$value";
			$query3 = mysql_query($sql3);
			if (!$query3) {
			echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql3;
			} 
			else{
				echo "SQL klopt: ".$sql3;
				}
			
			
			while($row2 = mysql_fetch_array( $query3 )) {
					
					echo "<b>".$row2['naam']."</b><br>";
					echo "<table>";
					echo "<td>Naam: </td><td><input type='text' size='25' name='".$id."naam' value='".$row2['naam']."' /></td>";
					echo "</tr><tr>";
					echo "<td>Telefoonnummer: </td><td><input type='text' size='25' name='".$id."nummer' value='".$row2['nummer']."' /></td>";
					echo "</tr><tr>";
					echo "<td>Inlognaam: </td><td><input type='text' size='25' name='".$id."inlog' value='".$row2['inlog']."' /></td>";					
					echo "</tr><tr>";
					echo "<td>Afdeling: </td><td><input type='text' size='25' name='".$id."afdeling' value='".$row2['afdeling']."' /></td>";
					echo "</tr><tr>";
					echo "<td>Intern verkort nummer: </td><td><input type='text' size='25' name='".$id."internnummer' value='".$row2['internnummer']."' /></td>";					
					echo "</tr></table>";
					

					
					if ($id > $maxid){
						$maxid = $id;
					}
				} 
		}
	echo "<input type='hidden' name='maxid' value='".$maxid."' />";
	?>
	<br>
	<center>
   
    <input type='submit' name='opslaan' value='Opslaan' />
    </center>
	</form>
    <?php
	} else {
	
	echo "<h2>Gegevens bewerken</h2>";
	?>
	<!--Select script-->	
<SCRIPT TYPE="text/javascript">


function veranderscript() {
  if (document.bewerk.groep.value == 1) location = 'index.php?pagina=internbewerk';
    else if (document.bewerk.groep.value == 2) location = 'index.php?pagina=buitenlijnbewerk';
    else if (document.bewerk.groep.value == 3) location = 'index.php?pagina=gsmbewerk';
}

</SCRIPT>

<FORM NAME="bewerk" ACTION="">
<P><SELECT NAME="groep" ONCHANGE="veranderscript();">
<OPTION SELECTED>Kies een groep...
<OPTION VALUE="1">Interne nummers
<OPTION VALUE="2">Directe buitenlijn nummers
<OPTION VALUE="3">GSM nummers
</SELECT></P>
</FORM>

<!--Zoekfunctie-->	
	<form method="post" name="search-form" action="">
		<input type="text" name="zoek" value="" />
		<input type="submit" id="submit" value="zoeken" />
	</form>
    <br><br>
	
	<?php	
/* selectie lijst printen */
	if (isset($_POST['zoek'])){
		$zoekterm = $_POST['zoek'];
	} else {
		$zoekterm = "";
	}
?>
<form name="bewerkform" action="" method="post">
<input type='submit' value="Bewerk" name="update" />
<input type='submit' value="Verwijder" name="verwijder" /><br><br>
<table BORDER="0" ALIGN="left">
<tr align='left'>
	<td width="50">&nbsp;</td>
	<td width="180"><b>Naam</b></td>
    <td width="140"><b>Telefoonnummer</b></td>
    <td width="100"><b>Inlognaam</b></td>
    <td width="250"><b>Afdeling</b></td>
    <td width="180"><b>Intern verkort nummer</b></td>
</tr>
<?php
	$sql3 = "SELECT * FROM gsm WHERE naam LIKE '%$zoekterm%' ORDER BY naam ASC";
	$query3 = mysql_query($sql3);
			if (!$query3) {
			echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql3;
			} 
			else{
				echo "SQL klopt: ".$sql3;
				}
	
	while($row2 = mysql_fetch_array( $query3 )) {
			$id = $row2['id'];
			$sql4 = "SELECT * FROM gsm WHERE `id`=$id";
			$query4 = mysql_query($sql4);
			if (!$query4) {
			echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql3;
			} 
			else{
				echo "SQL klopt: ".$sql4;
				}
			
			while($row4 = mysql_fetch_array( $query4 )) {
				$naam = $row4['naam'];
			}
			echo "<tr align='left'>";
			echo "<td width='20'><input type='checkbox' value=".$row2['id']." name='telid[]' /></td>";
			echo "<td cwidth='180'>".$row2['naam']."</td>";
			echo "<td width='140'>".$row2['nummer']."</td>";
			echo "<td width='100'>".$row2['inlog']."</td>";
			echo "<td width='250'>".$row2['afdeling']."</td>";
			echo "<td width='20'>".$row2['internnummer']."</td>";
			echo "</tr>";
		}
		
	?>
</table>
</form>
<?php
}
?>
for ($i = 0; $i <= $_POST['maxid'];$i++){
if (isset($_POST[$i])){

je $i wordt niet gepost, deze wordt gewoon aangemaakt.

$_POST['maxid'] wordt wel gepost.

if(isset($i)) {

moet het dus worden
ik loop klem op $id, die word niet aangegeven, en er woird vergeleken met de $id, als $id niet bestaat moet er een else zijn, die is er niet. dus het doet niks. als je mij nou eens verteld wat het moet doen,

Reageren