Avatar billede timkl Nybegynder
17. september 2008 - 19:35 Der er 6 kommentarer og
1 løsning

Fejlbeskeder ved parsing af email-formular

Jeg er ved at kode en email-formular, der indeholder følgende snippet.

$id = $_GET['id'];

if (isset($_GET['id'])) {
  $customeremail = @mysql_query(
    "SELECT name, email FROM customer WHERE id='$id'"
    );
    }

// get the first (and hopefully only) entry from the result
$row = mysql_fetch_array($customeremail);
// Print out the contents of each row into a table
$email = $row['email'];
$name = $row['name'];
echo $row['email'];
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p>Send email:</p>
<label>Name: <input type="text" name="name"
value="<?php echo $name; ?>" /></label><br />
<label>Email: <input type="text" name="email_from_form"
value="<?php echo $email; ?>" /></label><br />
<label>Subject: <input type="text" name="subject" /></label><br />
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<textarea name="email_message" rows="15" cols="45">
</textarea>
<input type="submit" value="SUBMIT" /></p>
</form>
<p><a href="customers.php">New search</a></p>

PHP fetcher data'en fra MySQL-databasen uden problemer, men jeg får følgende fejlbeskeder:

Notice: Undefined variable: customeremail in /Applications/MAMP/htdocs/easypark_test/emailcustomer.php on line 69

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /Applications/MAMP/htdocs/easypark_test/emailcustomer.php on line 69

Min email-formular fungerer fint, men jeg vil gerne vide hvad det er der får PHP til at spytte fejlbesker ud.
Avatar billede showsource Seniormester
17. september 2008 - 19:48 #1
Du kan prøve at sætte  or die (mysql_error()) på din query
Avatar billede jakobdo Ekspert
17. september 2008 - 19:49 #2
Prøv at ret til følgende:

if(isset($_GET['id']) && is_numeric($_GET['id'])) {
    $id = intval($_GET['id']);
    $customeremail = @mysql_query("SELECT name, email FROM customer WHERE id='$id' LIMIT 1");
   
    // get the first (and hopefully only) entry from the result
    $row = mysql_fetch_array($customeremail);
    // Print out the contents of each row into a table
    $email = $row['email'];
    $name = $row['name'];
    echo $row['email'];
}
?>
Avatar billede timkl Nybegynder
17. september 2008 - 20:11 #3
Cool, jakobdo - det fungede!
Avatar billede timkl Nybegynder
17. september 2008 - 20:15 #4
Hmm, med fare for at fremstå som mega n00b så kan jeg ikke se hvordan jeg skal tildele pointene til jakobdo.

Jeg læste på den her tråd: http://www.eksperten.dk/spm/835433, at man skulle skrive et "svar" og derefter acceptere, men det er mit eget navn der står i boksen til venstre for "Accepter" og "Afvis"-knapperne.

Hvordan gør jeg? :S
Avatar billede jakobdo Ekspert
17. september 2008 - 20:23 #5
Svar!
Avatar billede jakobdo Ekspert
17. september 2008 - 20:23 #6
Nu kan du markere mit navn.
Normalt skyder folk en masse kommentarer af, og når en løsning er fundet, smider den som har lagt det korrekt svar, et svar. :o)
Avatar billede jakobdo Ekspert
17. september 2008 - 21:38 #7
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester