Avatar billede whizzper Nybegynder
19. september 2004 - 18:44 Der er 20 kommentarer og
1 løsning

Fra en side til en anden

Hej...

Jeg skal bruge lidt hjælp til en kode jeg ikke rigtigt kan få det til at virke..!

Jeg er igang med en chat, og har problemer med det script som skal tilføje mine beskeder til databasen..!

skriv.php

<form method="post" action="tekst.php" target="tekst"  name="skrivfelt" onSubmit="return skrivclear();">
<center>
              <input type="hidden" name="action" value="skriv">
              <input type="hidden" name="text" value="">
              <input type="text" name="skriv" size="50" maxlength="250"><br>
              <input type="submit" value="Send" name="submit">
</center>
</form>



tekst.php

<?
if($_POST[action] == "skriv"){

$msge = htmlentities($_POST[msg]);

mysql_query("INSERT INTO tekst SET brugernavn = '$_COOKIE[username]', msg = '$msge'");
}
?>


Hvad er der galt?

Den vil ikke overføre det som jeg har skrevet, til tekst.php..!

Kan det laves som en cookie, det jeg har skrevet?
Hvis så, hvordan?
Avatar billede detox Nybegynder
19. september 2004 - 18:57 #1
Skal:

$msge = htmlentities($_POST[msg]);

ikke være:

$msge = htmlentities($_POST['skriv']);
Avatar billede whizzper Nybegynder
19. september 2004 - 18:58 #2
Det hjælper ikke..! har lige prøvet det
Avatar billede detox Nybegynder
19. september 2004 - 19:01 #3
Hvad gør din js funktion: skrivclear()?
Avatar billede detox Nybegynder
19. september 2004 - 19:02 #4
Du mangler osse apostroffer om dine index. Bl.a.:

if($_POST['action'] == "skriv"){
Avatar billede whizzper Nybegynder
19. september 2004 - 19:04 #5
Det hjælper heller ikke..!

Den js funktion sletter hvad jeg har skrevet, da den ikke opdaterer den fil hvor jeg skriver i, den er sat til at opdatere tekst.php som du kan se i min form
Avatar billede detox Nybegynder
19. september 2004 - 19:08 #6
Hvis skrivclear() sletter hvad du har skrevet, er det vel derfor du ikke får det videre til tekst.php. Prøv uden den funktion.
Avatar billede whizzper Nybegynder
19. september 2004 - 19:11 #7
Tjaa du havde ret i det der, nu virker det..!

Men hvad nu hvis jeg SKAL bruge den kode til at slette min tekst med, når jeg har trykket på send?
Avatar billede erikjacobsen Ekspert
19. september 2004 - 19:16 #8
Lav et hidden felt, få skrivclear til at kopiere dit tekstfelt til dit hiddenfelt
og derefter slette dit tekstfelt. På serveren aflæser du dit hiddenfelt.
Avatar billede whizzper Nybegynder
19. september 2004 - 19:27 #9
<script language="JavaScript">
    function skrivclear() {
        document.skrivfelt.text.value = document.skrivfelt.msg.value;
        document.skrivfelt.msg.value='';
        document.skrivfelt.msg.focus();
    }
</script>



<form method="post" action="tekst.php" target="tekst"  name="msg" onSubmit="return skrivclear();">

<center>
              <input type="hidden" name="action" value="msg">
              <input type="hidden" name="msg" value="">
              <input type="text" name="msg" size="50" maxlength="250"><br>
              <input type="submit" value="Send" name="submit">
</center>

</form>




Den virker ikke helt (ændrede lige på navnene)
Avatar billede erikjacobsen Ekspert
19. september 2004 - 19:28 #10
hidden feltet skal nok ikke hedde det samme som text feltet ;)
Avatar billede whizzper Nybegynder
19. september 2004 - 19:33 #11
Jeg er helt rund på gulvet lige nu!

Hvis jeg ændre de to, og den kode i tekst.php der tjekker efter om man har trykket ok, så skriver den noget, men den sletter ikke det jeg har skrevet i min text input :s

Hvis du forstår
Avatar billede erikjacobsen Ekspert
19. september 2004 - 19:34 #12
nej
Avatar billede whizzper Nybegynder
19. september 2004 - 19:37 #13
Ok..!

Skriv.php:

<script language="JavaScript">
    function skrivclear() {
        document.skrivfelt.text.value = document.skrivfelt.msg.value;
        document.skrivfelt.msg.value='';
        document.skrivfelt.msg.focus();
    }
</script>
<form method="post" action="tekst.php" target="tekst"  name="msg" onSubmit="return skrivclear();">

<center>
              <input type="hidden" name="action" value="msg">
              <input type="hidden" name="skriv" value="msg">
              <input type="text" name="msg" size="50" maxlength="250"><br>
              <input type="submit" value="Send" name="submit">
</center>

</form>






tekst.php:

if($_POST['action'] == "msg"){

$msge = htmlentities($_POST['msg']);

mysql_query("INSERT INTO tekst SET brugernavn = '$_COOKIE[username]', msg = '$msge'");
}





sådan ser det ud nu..! :P
Avatar billede erikjacobsen Ekspert
19. september 2004 - 19:43 #14
Du har ikke et felt med navn text
  document.skrivfelt.text.value
Men du har med navn skriv
  document.skrivfelt.skriv.value
Avatar billede erikjacobsen Ekspert
19. september 2004 - 19:43 #15
Og så skal du aflæse $_POST['skriv']
Avatar billede whizzper Nybegynder
19. september 2004 - 19:46 #16
Så skriver jeg: msg
inde på chatten, og det bliver ved med at stå der, når jeg har skrevet beskeden..!
Avatar billede erikjacobsen Ekspert
19. september 2004 - 19:51 #17
Ok, du har heller ikke noget, der hedder

  document.skrivfelt

når din form ikke hedder skrivfelt.
Avatar billede erikjacobsen Ekspert
19. september 2004 - 19:52 #18
Og til sidst i din funktion skrivclear skal du skrive

  return true;
Avatar billede whizzper Nybegynder
19. september 2004 - 19:54 #19
Aha takker :D nu fik jeg skidtet til det virke =)....læg et svar =)
Avatar billede erikjacobsen Ekspert
19. september 2004 - 19:55 #20
Ellers tak, jeg samler slet ikke på point.
Avatar billede whizzper Nybegynder
19. september 2004 - 19:57 #21
Okay...men mange tak for hjælpen..!
Så lukker jeg bare spørgesmålet..!
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