Having problem switching text from GUI to Surface GUI Text Label

Hello. I am scripting my game, “Billboard”, and I’ve ran into an issue. My code looks like this.

local Insert = script.Parent.Insert -- the place where you insert the text 
local DisplayText = game.Workspace.Display.SurfaceGui.DisplayText.Text -- the billboard where the text is supposed to change
local PostButton = script.Parent.PostButton -- the button you click to post.

function Post()
	Insert.Text = DisplayText
end

PostButton.MouseButton1Click:Connect(Post)

Instead of changing the billboard text, it changes the Insert Text Box to “if your reading this, what’s up?” (Note: the default text was “if your reading this, what’s up?”)

Well you’re changing the text of the insert, to the display text. Just reverse it to:

DisplayText = Insert.Text

Also, you’ll have a problem with transferring the text over to the server because you can only read textbox input from the client. So you’ll have to use a remote event to send over the info.

How do I do that? Do I just insert a event in replicated storage?

I recommend checking this out.

And this: