Hallo,

Ik zou graag meerdere gegevens tegelijkertijd kunnen aanpassen uit mijn database en heb hiervoor reeds volgend script, maar geeft steeds een parse error op <imput type="hidden"> Hopelijk kan iemand me verder helpen, ik ben evenwel nog een beginner met php.
Ik kan natuurlijk ook PhpMyEdit gebruiken, maar het mag eenvoudiger.
Alvast bedankt voor jullie professionele hulp.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>


<?php
include("header.html");
require_once('mysql_connect.inc.php');
// Databaseverbinding openen met mysql_connect():
$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());

// Database 'test' selecteren:
mysql_select_db("adreslijst") or die("Kon de database niet openen: " . mysql_error() );
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
$sql="select * from adressen";
$res=mysql_db_query("$db","$sql",$mysql_id);
    $fout=mysql_errno($mysql_id);
        if ($fout != 0) {
        $fout=mysql_error($mysql_id);
        echo '<font color="#FF2306">' . $fout . '</font>';
        mysql_close($mysql_id);
        echo '</body></html>';
        exit;
        }
$aantal_lijnen=mysql_num_rows($res);
$aantal_velden=mysql_num_fields($res);
echo "<br><br>";
echo '<table border=2 celpadding=2 width="100%">';
for($i=0;$i<$aantal_velden;$i++) {
    printf("<th bgcolor=\"orange\">%s</th>",mysql_field_name($res,$i));
    }
    echo "<th bgcolor=\"orange\">Update</th>";        
for($i=0;$i<$aantal_lijnen;$i++) {
    $row=mysql_fetch_row($res);
    echo '<tr>';
    foreach($row as $col) {
        $upid=$row[0];                             
        if(!$col) $col="&nbsp;";
        echo "<td>$col</td>";
    }
    echo "<td><a href=\"aanpassen.php?upid=$upid\">Update</a></td></tr>"; 
    }
echo "</table>";
echo '<br><br>';
mysql_close($mysql_id);
$upid=$_GET[upid];
if(isset($upid)) {
    $mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
    $sql="select * from adressen where id=$upid";
    $res=mysql_db_query("$db","$sql",$mysql_id);
    $row=mysql_fetch_row($res); 
	
    
	$upid=$_GET[upid];
if(isset($upid)) {
    $mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
    $sql="select * from adressen where id=$upid";
    $res=mysql_db_query("$db","$sql",$mysql_id);
    $row=mysql_fetch_row($res); 
    ?>
    
	<form action="<?php echo $_SERVER[PHP_SELF];?>" method="post">
    <table>
    <tr><td>Naam :</td><td><input type="text" name="naam" value="<?php echo $row[1];?>"></td></tr>
    <tr><td>Vooraam :</td><td><input type="text" name="voornaam" value="<?php echo $row[2];?>"></td></tr>
    <tr><td>Straat :</td><td><input type="text" name="straat" value="<?php echo $row[3];?>"></td></tr>
    <tr><td>Nummer :</td><td><input type="text" name="nummer" value="<?php echo $row[4];?>"></td></tr>
    <tr><td>Postcode :</td><td><input type="text" name="postcode" value="<?php echo $row[5];?>"></td></tr>
    <tr><td>Plaats :</td><td><input type="text" name="plaats" value="<?php echo $row[6];?>"></td></tr>
    <tr><td>Telefoon thuis :</td><td><input type="text" name="telefoon_thuis" value="<?php echo $row[7];?>"></td></tr>
    <tr><td>Telefoon werk :</td><td><input type="text" name="telefoon_werk" value="<?php echo $row[8];?>"></td></tr>
    <tr><td>Gsm 1 :</td><td><input type="text" name="gsm_1" value="<?php echo $row[9];?>"></td></tr>
    <tr><td>Gsm 2 :</td><td><input type="text" name="gsm_2" value="<?php echo $row[10];?>"></td></tr>
    <tr><td>E-mail :</td><td><input type="text" name="email" value="<?php echo $row[11];?>"></td></tr>
<tr><td><input type="hidden" name="upid" value="<?php echo $upid;?>"></td></tr>
    <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
    <tr><td><input type="submit" name="updaten" value="Gegevens updaten"></td></tr>
    </table>
    </form>
	
<?php
mysql_close($mysql_id);
}
else {

<input type="hidden">
}

mysql_close($mysql_id);

?>

   
</body>
</html>
Je post is nu niet echt leesbaar. Pas je post even aan en gebruik [ignore]
 en 
[/ignore] tags om je code heen. Om php code zet je uiteraard dit:<?php en ?>Gebruik je knop om dit te doen.

SanThe.
Inhoud verwijderd.

SanThe.
Nee je post je code nog steeds niet tussen de [ignore]
[/ignore] blokken, Daarnaast was het verzoek je openings topic aan te passen en het niet nog eens opnieuw te posten.

SanThe schreef op 16.05.2009 12:28
Je post is nu niet echt leesbaar. Pas je post even aan en gebruik [ignore]
 en 
[/ignore] tags om je code heen. Om php code zet je uiteraard dit:<?php en ?>Gebruik je knop om dit te doen.

SanThe.
Inhoud verwijderd.

SanThe.
Waarom 20x een mysql_connect ?
Waarom
<?php
$upid=$_GET[upid];
if(isset($upid)) {
?>
overbodig variabele aanmaken en dan ook nog eens te laat controleren of $_GET[upid] wel bestaat, overigens moet je je melding krijg op $_GET[upid] want dat moet zijn $_GET['upid']!

Waarom zit je te klootviolen met mysql_num_fields
Waarom mysql_fetch_row, meest onzinnige manier van fetchen, gebruik gewoon fetch_assoc

"Ik zou graag meerdere gegevens tegelijkertijd kunnen aanpassen uit mijn database"

Hoe we dit moeten opvatten, mij nog steeds een vraagteken....

Andere opmerkingen:
------------
php variabelen buiten qoutes
zorg dat je niet onnodig hoeft te escapen
(mysq) foutafhandeling
error_reporting aan
correct controle en validatie op variabelen welke van buiten komen

Advies:
Script de prullenbak in en stapsgewijs opnieuw beginnen met de juiste script-logica
@Van de Putte: Zeg mij eens wat er aan jouw editknopje mankeert.

En zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
<?php

$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}

?>

Dit is erg lief en aardig maar je kunt beter

<?php

$res = mysql_query($sql);

if(!$res)
{
echo mysql_error();
}

?>

gebruiken. Verder variablen buiten quotes en kijk wat PHP.net zegt over mysql_db_query:


"This function is deprecated, do not use this function. Use mysql_select_db() and mysql_query() instead. "


EDIT: sorry voor de bagger opmerking net ;-) Was er even niet helemaal bij
Ivo schreef op 16.05.2009 14:42
... maar je kunt beter
<?php
$res = mysql_query($sql) OR mysql_error();
?>
gebruiken.

Dit is NIET correct.

Na jouw aanpassing
Ivo schreef op 16.05.2009 14:42

<?php
$res = mysql_query($sql) OR exit(mysql_error());
?>

Beter, maar zeker niet netjes.
@Santhe:

Je hebt gelijk, ik was even erg dom...

<?php

$res = mysql_query($sql);

if(!$res)
{
echo mysql_error();
}

?>

dit is geloof ik wel goed
@Ivo: Dat begint ergens op te lijken.

Reageren