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>
Noppes schreef op 16.05.2009 14:25
.....

Wat is het nut om andermans post te quoten?
Lees de FAQ's eens door en leer posten.

SanThe.
Van de Putte schreef op 16.05.2009 15:16
[quote='Noppes schreef op 16.05.2009 14:25']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
[/quote]

Hallo,

Ik ben een beginner, en maak dus nog veel fouten door onwetendheid. Daarom het gebruik van dit forum, maar laat me toe te zeggen dat ik met deze nog niet veel wijzer geworden ben.

Gelieve Niet Bumpen:

Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.
Noppes schreef op 16.05.2009 14:25

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

Ook beginners kunnen leren van bovenstaand rijtje info.
@Van de Putte;

Je zet in je PHP-code zomaar "<input type="hidden">"
Dat ziet PHP niet als een functie of iets dergelijks dus geeft het een error.

je moet natuurlijk eerst echo() of print() gebruiken voordat je een output geeft
Hallo Ivo,

Daar zit blijkbaar het probleem, ik heb alles al geprobeerd met die input=hidden, maar blijft parse error fout geven. Is het mogelijk om hiervoor eens de juiste coderegel te geven?
Met dank

Ivo schreef op 16.05.2009 15:25
@Van de Putte;

Je zet in je PHP-code zomaar "<input type="hidden">"
Dat ziet PHP niet als een functie of iets dergelijks dus geeft het een error.

je moet natuurlijk eerst echo() of print() gebruiken voordat je een output geeft
De fout zit daar, omdat je zomaar output geeft zonder eerst aan PHP te zeggen dat het output is ;)

<?php

echo '<input type="hidden">';

?>

Ivo schreef op 16.05.2009 15:50
De fout zit daar, omdat je zomaar output geeft zonder eerst aan PHP te zeggen dat het output is ;)

<?php

echo '<input type="hidden">';

?>


Hallo Ivo,

Van harte dank !!!!
De pagina verschijnt nu met naast ieder record een "update" knop, wat ik zocht.
Ik krijg evenwel nog twee foutmeldingen :

Notice: Use of undefined constant upid - assumed 'upid' in C:\wamp\www\Untitled-152.php on line 45

Notice: Undefined index: upid in C:\wamp\www\Untitled-152.php on line 45
SanThe schreef op 16.05.2009 15:57
Kijk eens op www.phptuts.nl.


Hallo,

dit ga ik zeker eens doorlezen, deze avond. alvast dank voor de tip.
@ Van de Putte

Je errors komen waarschijnlijk doordat je een lege variabele ( $_GET['upid'] )
gebruikt.

<?php

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);

?>

a: Je hoeft $_GET['upid'] niet te hernoemen, want het is al een variabele
b: Ipv $_GET[upid] moet het $_GET['upid'] zijn ;)
c: Waarom is dit stuk dubbel ?
d: Variabelen buiten haakjes
e: SQL functies met hoofdletters: SELECT * FROM adressen WHERE id=" . $upid . "

Reageren