Gå til innhold

insert into? mysql feil?


Anbefalte innlegg

$query=mysql_query("INSERT INTO `members` ( `name` , `email` , `time` , `activecode` ) VALUES ( '{$_POST["name"]}', '{$_POST["email"]}', '{$time}', '{$activecode}')");

 

Det er koden, her er feilen:

Parse error: parse error, unexpected T_STRING, expecting ']' in C:\html\mortuary\register.php on line 32

 

 

Kan noen se noe galt?

Endret av KjetilV
Lenke til kommentar
Videoannonse
Annonse

Det funker med det, skjønner du, Loomy. Problemet er nok at han bruker " blandt arrayene, hvis jeg ikke husker helt feil.

Det beste er å escape alle variablene med mysql_real_escape_string() før du setter inn dataen.

Og dermed fjerne klammer og ikke bruke " i $array[navn] :)

Lenke til kommentar

Det er ikke lurt å basere seg på $array[navn], det kan oppstå konflikter dersom navnet er reservert fra php. Bruk derfor alltid " eller ' hvis du ikke her helt sikker på at det navnet ikke noen gang vil bli reservert.

 

mysql_real_escape_string() er et meget godt råd og burde alltid følges.

 

$query = mysql_query("

INSERT INTO `members`

( `name` , `email` , `time` , `activecode` )

VALUES

( '".$_POST['name']."', '".$_POST['email']."', '$time', '$activecode')

");

Burde fungere.

Lenke til kommentar
Det er ikke lurt å basere seg på $array[navn], det kan oppstå konflikter dersom navnet er reservert fra php. Bruk derfor alltid " eller ' hvis du ikke her helt sikker på at det navnet ikke noen gang vil bli reservert.

en liten kompleterende kommentar:

 

så lenge man er i en "quoted string", er det trygt å angi array keys uten fnutter.

 

dvs

 

"ho-ho-ho $array[key] hi-hi-hi"; # er helt trygt.

Lenke til kommentar

<div id="cont">
<div class="box"><h2>Login</h2>
 </p>
 <?
if (isset($usr)) echo '<meta http-equiv="refresh" content="0;url=index.php?page=forum">';
if (!isset($_POST["name"])) {
 echo 'Register: 
 
 <form name="form1" method="post" action="index.php?page=admin">
 <p> Name: 
   <input type="text" name="name">
 </p>
 <p>Email: 
   <input type="text" name="email">
 </p>
   <p>Email again: 
   <input type="text" name="email2">
 </p>
 <p>
   <input type="submit" name="Submit" value="Submit">
 </p>
</form>
 
 
 ';   
}else {
 if (strlen($_POST["email"])>0) {
if (strlen($_POST["email2"])>0) {
  if ($_POST["email"]==$_POST["email2]) {
 $activecode=rand() . rand() . rand() . rand();
 $time=time();
$query = mysql_query("
INSERT INTO `members` 
( `name` , `email` , `time` , `activecode` ) 
VALUES 
( '".$_POST['name']."', '".$_POST['email']."', '$time', '$activecode')
");
       mail($_POST["email"], "Mortuary Forums Activation", "  Hello!\n\nYou have registered on the Mortuary forums, and this is the email to activate the account. Please go to this link: <a href\"http://estimate.servehttp.com/mortuary/index.php?page=login&lpage=activecode\"> and enter this code to active your account: " . $activecode . "\n\n\n\n-Thank you, Kjetil Valen, mortuary webmaster.  ");
  }else echo "<p>Emails did not match!</p>"
}else echo "<p>You must enter your email in both boxes</p>";
 }else echo "<p>You must enter your email in both boxes</p>";
}
 ?>
 
</div>
</div>
<div id="foot"></div>
</div>

Der...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...