Gå til innhold

lite problem med include og form


Anbefalte innlegg

hei

Har funnet mye nyttig på dette forumet, men nå har jeg et lite problem som jeg ikke finner ut av, så jeg poster her for første gang:

Jeg har en nettside bygd opp med header, venstremarg, høyremarg og en main i midten, dette ligger i index.php. Dette funker fint ved hjelp av php(include) og css.

Det siste tillegget til siden er en gjestebok, denne gjesteboken funker også som den skal; read.php leser postene fra en database og viser de på siden, når brukeren klikker på "ny post" så åpnes post.php med et skjema. Innholdet sendes til read.php med POST.

Så til selve problemet: Når bruker trykker på "gjestebok" i menyen på siden så lastes read.php i main, videre når bruker skal skrive i gjesteboken, så åpnes post.php i main, ved hjelp av include. MEN når bruker trykker "post" i skjemaet så åpnes read.php som en ny side i nettleseren, jeg får ikke sendt beskjed til index.php om å inkludere read.php.

Her er skjemaet:

<form method="post" action="gjestebok/read.php">

Name: <input type="text" name="GuestName" /><br />

Email: <input type="text" name="GuestEmail" /><br /><br />

Message:<br /><textarea rows="10" cols="40" name="GuestMessage" /></textarea><br /><br />

<input type="submit" value="Post" />

</form>

 

Det er forsåvidt ikke så rart at det åpnes i nytt vindu, siden innholdet sendes til read.php, men er det mulig når bruker trykker "post" samtidig opdatere index.php slik at read inkludres der, (er sikkert en enkel måte her som jeg ikke greier å se)

Endret av fsole
Lenke til kommentar
Videoannonse
Annonse

Den må peke til read.php siden skjemaet behandles der.

 

Egentlig var det en link hvor brukeren mått trykke for å se meldingen sin:

 

echo "Klikk <a href=\"index.php?id=gjest\">her</a> for å se meldingen";

 

det jeg ønsker er å få til er altså å sette :"index.php?id=gjest" når brukeren trykker post i skjemaet.

Lenke til kommentar

Vet ikke hvordan koden din ser ut, men den enkleste måten å fikse dette på er jo bare redirecte siden når read.php har lagt inn det den skal i databasen. Så skriver du bare:

 

header("location: http://adressen-der-hele-gjesteboken-blir-includet-på-siden");

exit;

 

bakdelen med dette er jo hvis det blir prøvd registret noe feil.

 

Eller så kan du vise oss index koden så kan vi sikkert hjelpe deg :)

Lenke til kommentar

viste seg å være en enkel løsning på dette:

<form method="post" action="index.php?id=gjest" action="gjestebok/read.php" >

 

vet ikke helt om det er en god løsning å ha to 'action' elementer, men nå virker det iallefall, read.php inkluderes i main, i index.php, med siste post i gjesteboken øverst. :yes:

Lenke til kommentar

viste seg å være en enkel løsning på dette:

<form method="post" action="index.php?id=gjest" action="gjestebok/read.php" >

 

vet ikke helt om det er en god løsning å ha to 'action' elementer, men nå virker det iallefall, read.php inkluderes i main, i index.php, med siste post i gjesteboken øverst. :yes:

 

Hmmm.. aldri hørt at det var mulig med to action i en form. Jeg tror nok at du kan fjerne den siste, det vil nok virker like greit da også.

 

Regner med at "gjestebok/read.php" blir includet i index.php og den igjen sjekker om det blir sendt inn noen data også registrere den det i databasen hvis dette er tilfellet.

 

Men så lenge det virker så er det ikke så farlig om hvordan den gjør det :)

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...