verzendbericht verwijzen naar bepaalde plek op pagina

  • Onderwerp starter Onderwerp starter cc30
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

cc30

Gebruiker
Lid geworden
27 mei 2009
Berichten
36
Hoi,

Ik ben bezig met een website met 4 onderdelen(home, galerij, etc), dat bestaat uit 1 pagina. Het contactformulier staat onderaan. Het geval nu is dat nadat je het bericht hebt verzonden de pagina automatisch naar boven gaat, terwijl het 'dank je wel'- bericht boven het contactformulier staat en deze nu dus niet meer te zien is. De bezoeker raakt zo verward omdat deze verwacht nog in de contactsectie te staan. Hoe zorg ik ervoor dat je na het verzenden in deze sectie blijft staan?

Hopelijk ben ik duidelijk zo.
Graag hulp of advies.

Alvast bedankt.
 
Laatst bewerkt:
Als ik je goed begrijp wil je dus na het klikken op de knop een email versturen en direct daarna teruggaan naar dat contact gedeelte om een bevestiging te tonen.

Dit kan je doen met anchors, ook wel links. Je moet hiervoor een anchor plaatsen om het contact gedeelte en wanneer er een email verstuurd is een verwijzing doen naar die anchor. Voorbeeld:

HTML:
<a name="anchor_name">
....
<!-- contact gedeelte -->
....
</a>

Om nu ervoor te zorgen dat je hierna toe ga wanneer je een email heb gestuurd kan je een automatische verwijzing doen naar het contact gedeelte. Voorbeeld:
PHP:
if ($mail_send == true) {
   echo "<meta http-equiv='refresh' content='0;URL=#form' />";
}

hoop dat je het snapt zo niet dan hoor ik het graag

groeten vreugde
 
Ik heb me suf gegoogled, ik ben daarom erg blij met je antwoord. Bedankt!:)
Het anker gedeelte wist ik, mijn webpagina wordt op deze manier genavigeerd. Ik wist alleen niet hoe ik dit moest doorvoeren in het php-gedeelte. Ik ga het proberen, mocht ik er niet uitkomen dan plaats ik mijn code hier.
 
Als ik je goed begrijp wil je dus na het klikken op de knop een email versturen en direct daarna teruggaan naar dat contact gedeelte om een bevestiging te tonen.

Dit kan je doen met anchors, ook wel links. Je moet hiervoor een anchor plaatsen om het contact gedeelte en wanneer er een email verstuurd is een verwijzing doen naar die anchor. Voorbeeld:

HTML:
<a name="anchor_name">
....
<!-- contact gedeelte -->
....
</a>

Om nu ervoor te zorgen dat je hierna toe ga wanneer je een email heb gestuurd kan je een automatische verwijzing doen naar het contact gedeelte. Voorbeeld:
PHP:
if ($mail_send == true) {
   echo "<meta http-equiv='refresh' content='0;URL=#form' />";
}

hoop dat je het snapt zo niet dan hoor ik het graag

groeten vreugde



Hoi Vreugde,

Het is gelukt. Geweldig. Nogmaals bedankt!

Onderstaande heb ik aangepast:

PHP:
$dankbericht = true;

naar:

PHP:
if ($dankbericht = true) {
echo "<meta http-equiv='refresh' content='0;URL=#thankyou-message' />";
 }
 
Laatst bewerkt:
Waarschijnlijk bedoel je
PHP:
if ($dankbericht == true) {
Dus met twee =-tekens. Met maar een =-teken betekent het ken "true" toe aan de variabele "$dankbericht" en gebruik deze waarde als waarheidswaarde.

Oftwel
PHP:
if ($dankbericht = true) {
echo "<meta http-equiv='refresh' content='0;URL=#thankyou-message' />";
 }
is gelijk aan:
PHP:
$dankbericht = true;
echo "<meta http-equiv='refresh' content='0;URL=#thankyou-message' />";
 
Waarschijnlijk bedoel je
PHP:
if ($dankbericht == true) {
Dus met twee =-tekens. Met maar een =-teken betekent het ken "true" toe aan de variabele "$dankbericht" en gebruik deze waarde als waarheidswaarde.

Oftwel
PHP:
if ($dankbericht = true) {
echo "<meta http-equiv='refresh' content='0;URL=#thankyou-message' />";
 }
is gelijk aan:
PHP:
$dankbericht = true;
echo "<meta http-equiv='refresh' content='0;URL=#thankyou-message' />";


Hoi,

Bedankt, maar als ik dit (de twee = tekens) doe werken de ankers niet meer. Dus nadat het bericht is verzonden gaat de pagina automatisch naar boven en zit je niet meer in het contactgedeelte. De optie van vreugde werkt goed (mijn tekort aan php-kennis om het helemaal juist te doen) alleen in IE is het hele content van de webpagina uit zijn verband getrokken nadat een bericht is verzonden. Weet iemand hoe dit kan en hoe ik dit oplos?
 
Laatst bewerkt:
Je moet zowiezo altijd == tekens er in plaatsen anders heeft het geen nut om te controleren of je email is verzonden. Hierdoor denken de bezoekers van je website dat hun email is verzonden terwijl dat helemaal niet hoeft te zijn. Dus mocht == niet werken zou ik kijken of het versturen van een email wel lukt.

Plaats anders de gehele code en misschien een link zodat we
1. kunnen kijken waarom je email functie niet werkt
2. kunnen kijken naar de layout

groeten vreugde
 
hoi vreugde,

de == werken prima, tijdens het testen krijg ik alle mailtjes binnen, ook met 1 =. alleen na verzenden kom je automatisch bovenaan de pagina. De ankers werken vreemd genoeg niet sinds ik een tweede = gebruik. Ik plaats mijn link liever niet hier vanwege privacy klant. Ik wil je de link waar de site nu op staat met eventuele codes mailen als je dat óke vind?
 
In verband met mijn eigen privacy geef ik mijn email adres niet vrij.
Wel kan je op mijn eigen website een bericht achter laten waarop ik dan kan reageren en jij dan toch zo mijn email adres verkrijg.

http://www.mvesign.com/

groeten vreugde
 
Hallo,

ik heb hetzelfde probleem, maar ik snap de werking van ankers dan ook niet helemaal...
Gebruiker moet naar het einde van de pagina om te zien dat hun formulier verzonden is.
maar ze krijgen terug de top van de pagina te zien na "verzenden" van het formulier.


HTML:
    <tr style='height:17.0pt'>
      	<td valign=top style='text-align: center'><p class=BasicParagraph1><span style='font-size:10.0pt; font-family:Arial; text-transform:uppercase; mso-ansi-language:NL; color: #CCC;'>
      	  <o:p></o:p>
      		</span><span class="MsoNormal1" style="text-align:left">
            
            <a name="verzonden" class="Section1" id="verzonden">
            </a> 
            
            </span></p>
            
        </td>
      	<td valign=top style='text-align: right'><p class=MsoNormal1 align=center style='text-align:right'>
        	<![if !supportEmptyParas]>
        	<span style="text-align: left"></span>
            <span style='color:black'>
          	<o:p></o:p>
          	</span><span class="MsoNormal1" style="text-align:left">
          	<input name="verzend" type="submit" onClick="MM_validateForm('ID','','R','naam','','R','straat','','R','huisnummer','','RisNum','postcode','','RisNum','gemeente','','R','gsm','','NisNum','email','','NisEmail','fax','','NisNum','emailgg','','NisEmail','Omschrijving','','R')" value="Verzend">
          	</span></p>
       	</td>
   	</tr>
</table>
  
</form>



PHP:
	if( !empty($_POST['ID'])
	&& !empty ($_POST['naam'])
	&& !empty ($_POST['straat'])
	&& !empty ($_POST['huisnummer'])
	&& !empty ($_POST['postcode'])
	&& !empty ($_POST['gemeente'])
	&& !empty ($_POST['land'])
	&& !empty ($_POST['Omschrijving'])
	&&$_SERVER['REQUEST_METHOD'] == 'POST')
		{			
		mail($mail_ontv,"Contactformulier klachtmelding",$inhoud_mail);
		echo ("Uw mail is goed verzonden, wij nemen zo snel mogelijk contact met u op");
		}
		if ($mail_send == true) {
   		echo "<meta http-equiv='refresh' content='0;URL=#form' />";
		}
?>

Wat doe ik verkeerd, hoe weet hij eigenlijk dat hij naar het einde van de pagina moet springen...
 
echo "<meta http-equiv='refresh' content='0;URL=#form' />";

Wat je hier doet is je verwijst naar een anchor met de naam "form" dus wordt er gezocht naar
HTML:
<a name="form"></a>

Maar in jou code zie ik alleen
HTML:
<a name="verzonden" class="Section1" id="verzonden"></a>

Dus moet je het volgende veranderen
Van:
PHP:
echo "<meta http-equiv='refresh' content='0;URL=#form' />";
Naar:
PHP:
echo "<meta http-equiv='refresh' content='0;URL=#verzonden' />";

groeten vreugde
 
Wat je hier doet is je verwijst naar een anchor met de naam "form" dus wordt er gezocht naar
HTML:
<a name="form"></a>

Maar in jou code zie ik alleen
HTML:
<a name="verzonden" class="Section1" id="verzonden"></a>

Dus moet je het volgende veranderen
Van:
PHP:
echo "<meta http-equiv='refresh' content='0;URL=#form' />";
Naar:
PHP:
echo "<meta http-equiv='refresh' content='0;URL=#verzonden' />";

groeten vreugde

Dag vreugde,

Dank voor de hulp, lijkt idd logisch, heb dit aangepast,
maar ik krijg nog steeds de top van mijn pagina te zien na het verzenden van de gegevens...
 
@sakamink
...
&&$_SERVER['REQUEST_METHOD'] == 'POST') {
mail($mail_ontv,"Contactformulier klachtmelding",$inhoud_mail);
echo ("Uw mail is goed verzonden, wij nemen zo snel mogelijk contact met u op");
}
if ($mail_send == true) {
echo "<meta http-equiv='refresh' content='0;URL=#verzonden' />";
}

In bovenstaande quote, waar zet jij $mail_send op true of false, want je controleert hier op voordat je refereert naar je formulier.
zou het niet beter zijn om het zo te doen

PHP:
$mail_send = false           // voor jou gigantische if-statement.
...
&&$_SERVER['REQUEST_METHOD'] == 'POST') {
   mail($mail_ontv,"Contactformulier klachtmelding",$inhoud_mail);
   echo ("Uw mail is goed verzonden, wij nemen zo snel mogelijk contact met u op");
   $mail_send = true;
}

if ($mail_send == true) {
   echo "<meta http-equiv='refresh' content='0;URL=#verzonden' />";
}

groeten vreugde
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan