19. september 2003 - 23:04Der er
9 kommentarer og 1 løsning
Column 'name' cannot be null
Jeg har lavet et login system med php og mysql. Et ganske enkelt system hvor man kan oprette ny bruger, logge ind osv. Det virker ganske fint, dog med en enkelt undtagelse. Hvis jeg ikke udfylder noget i min opret formular, og sender, kommer denne melding "Column 'name' cannot be null" i et nyt tomt vindue. Jeg vil gerne have den til at skifte til en side efter eget valg eller blive på siden, hvis folk evt. kommer til at sende en tom formular.
Hvor i scriptet skal det evt. tilføjes osv...
Jeg har søgt en del rundt på eksperten og synes ikke at kunne finde noget relaterende.
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
<?php require_once('Connections/denne.php'); ?> <?php // *** Redirect if username exists $MM_flag="MM_insert"; if (isset($_POST[$MM_flag])) { $MM_dupKeyRedirect="exists.php"; $loginUsername = $_POST['name']; $LoginRS__query = "SELECT name FROM user_pwd WHERE name='" . $loginUsername . "'"; mysql_select_db($database_denne, $denne); $LoginRS=mysql_query($LoginRS__query, $denne) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS);
//if there is a row in the database, the username was found - can not add the requested username if($loginFoundUser){ $MM_qsChar = "?"; //append the username to the redirect page if (substr_count($MM_dupKeyRedirect,"?") >=1) $MM_qsChar = "&"; $MM_dupKeyRedirect = $MM_dupKeyRedirect . $MM_qsChar ."requsername=".$loginUsername; header ("Location: $MM_dupKeyRedirect"); exit; } } ?> <?php require_once('Connections/denne.php'); ?> <?php require_once('Connections/denne.php'); ?> <?php function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
Hvis navnefeltet i formen er tom, vil din GetSQLValueString lave det til en NULL-værdi. Er det rimeligt fornuftigt for dig kan du definere feltet i tabellen i databasen til at tillade NULL-værdien ved at fjerne "NOT NULL" i den tilhørende CREATE-sætning (eller hvordan du nu laver den).
erikjacobsen >> Det virkede godt nok så langt, at den ikke skifter over til den side med "Column 'name' cannot be null", men til gengæld skifter den til en side jeg har lavet, som brugeren skal komme til når de har oprettet en ny bruger. Det dur jo heller ikke helt :) (En side hvorpå der står "Brugeren er oprettet. Du kan nu logge ind") Jeg ville gerne, om jeg kunne få den til at blive på den samme side, når man trykker på submit knappen.
En hurtig løsning vil være at checke det i JavaScript - så kan man både blive på samme side, og undgå at rette i koden ovenfor. Der er enkelte, der ikke kører JavaScript, men de får så den underlige "null" fejl. Er det acceptabelt?
For mig er det sådan set ligegyldigt hvordan det skal komme til at virke, bare man bliver på samme side, når man sender en tom formular. Kan et javascript gøre det er det fint. Men ved du så noget om, hvad sådan et script skal indeholde for ikke helt at spærre adgangen til næste siden? Jeg accepterer efter som det ikke ligner at andre kan svare på hvordan i php. Så smid et svar uanset hvad din kommentar måtte være :) dm
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.