Ik heb een form, die gegevens (oa mailadres) in een tabel plaatst.
Mijn vraag is nu, hoe kan ik nazien of een mail adres al reeds niet in de dbase aanwezig is?
Dan mag de insert niet uitgevoerd worden.
Met dank
Schrijf je de gegevens weg dmv een automatisch gegeneerd id in je tabel?
Ik heb namelijk ook zoiets gehad met het drukken op de F5-knop van je browser en heb, met mijn beperkte kennis van php, het volgende gedaan.
<?php
if ($companyid!=$companyid_refresh
{include_once ('../important/error.html');}
else
{
//----------------------------------------------------------------------
// wegschrijven van company gegevens naar de tabel crm_company
//----------------------------------------------------------------------
$res_ins_company=mysql_db_query("$db","$sql_ins_company",$mysql_id);
}
?>
Komt er eigenlijk op nee dat ik eerst met een query kijken of hetgeen ik wil toevoegen al bestaat, zo ja, geef dan een error weer, zo nee, schrijf hem dan weg in de db.
Zoals ik al zei ben ik geen held in php, maar het werkt wel voor mij :-D
Je kan in je database toch een UNIQUE-veld aanmaken?
Dan krijg je vanzelf een foutmelding als er een dubbel emailadres (of wat dan ook) wordt toegevoegd.
Dat is sneller, simpeler én betrouwbaarder.
?
Onbekende gebruiker
12-10-2008 10:15
Wim Selles schreef op 12.10.2008 10:03
<?php
if ($companyid!=$companyid_refresh
{include_once ('../important/error.html');}
else
{
//----------------------------------------------------------------------
// wegschrijven van company gegevens naar de tabel crm_company
//----------------------------------------------------------------------
$res_ins_company=mysql_db_query("$db","$sql_ins_company",$mysql_id);
}
?>
Zoals ik al zei ben ik geen held in php, maar het werkt wel voor mij :-D
Dat is allemaal onnodig als je op de insert pagina's gewoon een header("Location: ;"); plaatst en 0,0 output geeft (voor de n00bs, anders komen daar weer vragen over). Dan kan de gebruiker wel F5 doen maar dan is ie nog steeds op de pagina waar die naar toe wordt gestuurd. Als de gebruiker een pagina terug gaat komt ie op de pagina voor het inserten, dus hij kan nooit de zelfde formdata twee keer inserten (behalve bij het nog een keer typen en nog een keer submitten).