Hallo,

ik heb een scriptje en er zit een foutje in. bij klant nummer kan ik alleen cijvers invoeren en ik wil cijvers en letter kunne invoeren.
Kan iemand vertellen wat ik in de onderstaande script fout heb gedaan? en wat eraan verander moet worden?

alvast bedankt stefan!

<?
if(!isset($req))
exit;

include '../winkelwagen/php/database-mysql.php';
include '../winkelwagen/php/db.php';
include '../winkelwagen/php/html_css.php';

function GenerateID($length)
{ $pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$pool .= "abcdefghijklmnopqrstuvwxyz";
$pool .= "0123456789";
mt_srand ((double) microtime() * 1000000);
$unique_id = "";
for ($i = 0; $i < $length; $i++)
$unique_id .= substr($pool, (mt_rand()%(strlen($pool))), 1);
return ($unique_id);
}

if(isset($req) && $req == 'list')
{ html_header();
$res = $db->query_exec("SELECT * FROM users ORDER BY bedrijfsnaam");
$num = $db->numrows($res);

?>
<CENTER>
<H2>Klanten overzicht</H2>
<TABLE><TR><TD BGCOLOR="#000000">
<TABLE BORDER="0" CELLSPACING="1" CELLPADDING="2">
<TR>
<TD CLASS="heading">klantnr.</TD>
<TD CLASS="heading">bedrijfsnaam</TD>
<TD CLASS="heading">&nbsp;</TD>
<TD CLASS="heading">&nbsp;</TD>
</TR>
<?
for($i = 0; $i < $num; $i++)
{ $arr = $db->fetch_assoc($res, $i);
?>
<TR>
<TD CLASS="content"><?=$arr['klantnummer']?></TD>
<TD CLASS="content"><?=$arr['bedrijfsnaam']?></TD>
<TD CLASS="content"><A HREF="<?=$PHP_SELF?>?req=mod&id=<?=$arr['id']?>" CLASS="normal">wijzig</A></TD>
<TD CLASS="content"><A HREF="<?=$PHP_SELF?>?req=del&id=<?=$arr['id']?>" CLASS="normal">wis</A></TD>
</TR>
<?
}
?>
</TABLE>
</TD></TR></TABLE>
</CENTER>
<?
}

if(isset($id) && isset($req) && $req == 'mod')
{ if(isset($do) && $do == 1)
{ $sql = "UPDATE users SET klantnummer = '$klantnummer', bedrijfsnaam = '$bedrijfsnaam', contactpersoon = '$contactpersoon', email = '$email', tel = '$tel', fax = '$fax', afleveradres = '$afleveradres', afleverpostcode_cijfers = '$afleverpostcode_cijfers', afleverpostcode_letters = '$afleverpostcode_letters', afleverplaats = '$afleverplaats', faktuuradres = '$faktuuradres', faktuurpostcode_cijfers = '$faktuurpostcode_cijfers', faktuurpostcode_letters = '$faktuurpostcode_letters', faktuurplaats = '$faktuurplaats' ";
$sql .= $pass==''?'':", pass = '".md5($pass)."' ";
$sql .= "WHERE id = $id";
$db->query_exec($sql);
Header("Location: $PHP_SELF?req=list");
exit;
}
html_header();
$res = $db->query_exec("SELECT * FROM users WHERE id = $id");
$arr = $db->fetch_assoc($res);
?>
<CENTER>
<H2>Klant wijzigen</H2>
<FORM ACTION="<?=$PHP_SELF?>" METHOD="POST">
<INPUT TYPE="hidden" NAME="req" VALUE="mod">
<INPUT TYPE="hidden" NAME="do" VALUE="1">
<INPUT TYPE="hidden" NAME="id" VALUE="<?=$id?>">
<TABLE BORDER="0" CELLSPACING="7" CELLPADDING="2">
<TR>
<TD CLASS="content" VALIGN="top">E-Mail Adres:</TD>
<TD CLASS="content"><INPUT TYPE="text" NAME="klantnummer" VALUE="<?=$arr['klantnummer']?>"></TD>
</TR>
<TR>
<TD CLASS="content" COLSPAN="2"><B>Indien u geen wachtwoord invult, blijft de oude behouden</B></TD>
</TR>
<TR>
<TD CLASS="content" VALIGN="top">Wachtwoord:</TD>
<TD CLASS="content"><INPUT TYPE="text" NAME="pass" VALUE=""></TD>
</TR>
<TR>
<TD CLASS="content" VALIGN="top">Bedrijfsnaam:</TD>
<TD CLASS="content"><INPUT TYPE="text" NAME="bedrijfsnaam" SIZE="50" VALUE="<?=$arr['bedrijfsnaam']?>"></TD>
</TR>
<TR>
<TD CLASS="content" VALIGN="top">Contactpersoon:</TD>
<TD CLASS="content"><INPUT TYPE="text" NAME="contactpersoon" VALUE="<?=$arr['contactpersoon']?>"></TD>
</TR>
<TR>
<TD CLASS="content" VALIGN="top">E-mail:</TD>
<TD CLASS="content"><INPUT TYPE="text" NAME="email" VALUE="<?=$arr['email']?>"></TD>
</TR>

<TR>
<TD CLASS="content" VALIGN="top">Telefoon:</TD>
<TD CLASS="content"><INPUT TYPE="text" NAME="tel" SIZE="20" VALUE="<?=$arr['tel']?>"></TD>
</TR>

<TR>
<TD CLASS="content" VALIGN="top">Fax:</TD>
<TD CLASS="content"><INPUT TYPE="text" NAME="fax" SIZE="20" VALUE="<?=$arr['fax']?>"></TD>
</TR>


<TR>
<TD CLASS="content" VALIGN="top">Afleveradres:</TD>
<TD CLASS="content">
<INPUT TYPE="text" NAME="afleveradres" VALUE="<?=$arr['afleveradres']?>" SIZE="45">
<BR>
<INPUT TYPE="text" NAME="afleverpostcode_cijfers" SIZE="5" VALUE="<?=$arr['afleverpostcode_cijfers']?>">&nbsp;&nbsp;<INPUT TYPE="text" NAME="afleverpostcode_letters" SIZE="3" VALUE="<?=$arr['afleverpostcode_letters']?>">&nbsp;&nbsp;&nbsp;<INPUT TYPE="text" NAME="afleverplaats" VALUE="<?=$arr['afleverplaats']?>">
</TD>
</TR>
<TR>
<TD CLASS="content" VALIGN="top">Factuuradres:</TD>
<TD CLASS="content">
<INPUT TYPE="text" NAME="faktuuradres" VALUE="<?=$arr['faktuuradres']?>" SIZE="45">
<BR>
<INPUT TYPE="text" NAME="faktuurpostcode_cijfers" SIZE="5" VALUE="<?=$arr['faktuurpostcode_cijfers']?>">&nbsp;&nbsp;<INPUT TYPE="text" NAME="faktuurpostcode_letters" SIZE="3" VALUE="<?=$arr['faktuurpostcode_letters']?>">&nbsp;&nbsp;&nbsp;<INPUT TYPE="text" NAME="faktuurplaats" VALUE="<?=$arr['faktuurplaats']?>">
</TD>
</TR>
</TABLE>
<BR>
<INPUT TYPE="SUBMIT" VALUE="wijzigen">
</FORM>
<?
}

if(isset($req) && $req == 'add')
{ if(isset($do) && $do == 1)
{ if($pass == '')
$pass = GenerateID(8);
$pass1 = $pass;
$pass = md5($pass);
$num = $db->fetch_column($db->query_exec("SELECT COUNT(*) FROM users WHERE klantnummer = '$klantnummer'"));
html_header();
if($num > 0) {
?>
Is klantnummer in je db een INT veld? Als dit zo is even INT veranderen in VARCHAR.
Hij staat al op VARCHAR
(klantnummer varchar(50) Ja NULL )
Kan je iets precieser zijn? Foutmeldingen met error reporting op all, waar gaat het fout etc etc.

Een script hier neer pleuren en verwachten dat wij alles fixen is niet de bedoeling...

Ik gok overigens dat er ergens een is_numeric staat maar dat kan ik zo niet beoordelen.
Misschien is dit mij eerste post ooit!.

hij geeft login onjuist.

de bedoeling is ipv een klant nummer een e-mail adres te maken.

als ik 12234 doe dan logt hij in en als ik abc doe dan niet.

heb ik het zo goed uitgelegd? of wou je meer informatie?

alvast bedankt, Stefan

Met "echo" kan je nagaan waar hij komt in je code, nadat je probeert in te loggen. Dus dan kan je nagaan wat je code verkeert doet.
Hij geeft login onjuist, dan kan je met echo dus nagaan waarom hij een onjuist geeft.

Ik heb weinig zin om zonder foutmelding en regelnummer je code na te gaan.

Succes
Kan het zijn dat de fotu in regel nummer
59. $num = $db->numrows($res);
73, for($i = 0; $i < $num; $i++)
175, $num = $db->fetch_column($db->query_exec("SELECT COUNT(*) FROM users WHERE klantnummer = '$klantnummer'"));

177, if($num > 0) {


Zit de fout dan in $num ?

alvast bedankt, Stefan
Kan iemand mijn verder helpen.
of is de informatie die ik geef te gering?

alvast bedankt, Stefan
kan iemand me nog helpen?

Reageren