Hallo allemaal,

vorige topic van mij ging over de mailfunctie in php voor het automatisch mailen bij het laden van een pagina bij een bepaalde handeling. Dit lukte toen niet enz., maar na lang sleutelen heb ik het werkend gekregen!

Nu zit ik echter met een ander probleem, het mailtje komt goed binnen maarrr in de 2 links die in het mailtje zitten moeten zowel de advertentie-id als het wachtwoord worden verwerkt. Nu is het mij inmiddels gelukt om het wachtwoord in het mailtje te krijgen en nu heb ik het volgende mailtje;

You can remove your bargain using following link: mijnsite.nl/?q=remove&id=&password=d2h4A42ryh
You can edit your bargain using following link: mijnsite.nl/?q=edit&id=&password=d2h4A42ryh

zoals je ziet staat het wachtwoord inderdaad goed maar is er van de id geen enkele sprake.. Jullie raden dus mijn vraag al, hoe krijg ik het id in de mail?? De ID staat verwerkt in de forsale_content tabel van mijn DB.

Mocht iemand graag nog een stuk code of iets dergelijks nodig hebben hoor ik het graag.. Ik gebruik overigens nu het volgende mail script;

<?
mail("$email","[Mijnsite.nl] - Advertentie $title geplaatst","Je advertentie: $record->title\n\nYou can remove your bargain using following link:\n\n$forsaleurl?q=remove&amp;id=$id&amp;password=$password\n\nYou can edit your bargain using following link:\n\n$forsaleurl?q=edit&amp;id=$record->id&amp;password=$password\n\nJe advertentie is doorgestuurd naar de Admin voor goedkeuring.\n\nJe ontvangt van ons een e-mail als je advertentie online staat!\n\n");
?>

Ik hoor graag een antwoord van iemand,

Alvast superbedankt!

Groetjes, Bas
hoe krijg ik het id in de mail?
Dat is de verkeerde vraag. Je wilt namelijk een string aanmaken waarin het id is opgenomen. Dat je deze string toevallig met de functie mail() als email wilt gaan versturen, dat is bijzaak.

Oplossing: Haal de content uit de functie mail() en zet deze eerst in een variabele. Echo deze variabele eens, dan krijg je direct te zien hoe deze tekst er nu uitziet.

Wanneer de tekst helemaal goed is, dan pas ga je de variabele ook in de functie mail() stoppen, tot die tijd heeft dat geen enkele zin.

Vraagje: Waar moet $id vandaan komen?
De $id moet komen uit tabel;
forsale_content --> id (Deze staat ingesteld op auto increment..)

Om andere data in te voegen staat er het volgende;

<?
mysql_query ("INSERT INTO forsale_content (postdate, posttime, name, email, address, country, phone, website, title, category, description, price, photo, status, password) VALUES ('$postdate', '$posttime', '$name', '$email', '$address', '$country', '$phone', '$website', '$title', '$category', '$description', '$price', '$photo', 'online', '$password' SELECT * FROM forsale_content WHERE id='$id'");
?>

Het laatste stukje over Where id etc. heb ik er zelf nog aan toegevoegd..
De $id moet komen uit tabel
En hoe moet jouw script dat weten?

Elders gebruik je $record->title om de titel ergens neer te zetten, dit zul je zo dus ook moeten doen met het id: $record->id

Offtopic: fetchen met _object() is sterk af te raden. Zo snel als dikke stront door een trechter en kan in combinatie met andere bugs in je systeem hele vervelende gevolgen hebben. Gebruik de _assoc() variant, dat is vele malen sneller en handiger.
Maar ik snap dus niet hoe het kan dat in de mailheader;
Advertentie $title geplaatst

wel werkt, het onderwerp wordt namelijk gewoon goed geshowd zonder dat $record->title wordt gebruikt...
<?
mail("$email","[Mijnsite.nl] - Advertentie $title geplaatst","Je advertentie: $record->title\n\nYou can remove your bargain using following link:\n\n$forsaleurl?q=remove&amp;id=$id&amp;password=$password\n\nYou can edit your bargain using following link:\n\n$forsaleurl?q=edit&amp;id=$record->id&amp;password=$password\n\nJe advertentie is doorgestuurd naar de Admin voor goedkeuring.\n\nJe ontvangt van ons een e-mail als je advertentie online staat!\n\n");
?>

"$mail"

kun je beter schrijven als:

$mail
AT Arjan Schuurman;

Waarom is dat beter dan?? Dreamweaver geeft juist alles tussen "" aan..
Maar daar werkt de ID functie ook nog niet mee toch??
Een variabele is geen string, het is een variabele. Dat DW een variabele tussen quotes zet, zegt meer over DW als tool dan over het al dan niet correct toepassen van quotes.

Je gebruikt quotes om een string en een string kan best in een variabele staan. Het is totaal overbodig en volkomen zinloos om een variabele tussen quotes te zetten. Het voegt helemaal niets toe, het maakt de boel alleen maar onduidelijker.
Aha,, ik snap hem, maar daar is neem ik aan mijn probleem niet mee opgelost..

Reageren