Avatar billede snebold Nybegynder
29. februar 2004 - 12:36 Der er 6 kommentarer og
1 løsning

Shoutbox, fejl?

Hej derude.

Jeg har fået lavet et script, der virker som en tagwall. Kan intaster en besked og den vises. Scriptet virker 100% - men, da jeg skulle flytte filerne til mit .dk domæne virkede scriptet ikke..

Sciptet kører ikke MySQL:

Koden, lad venligt vær med selv at bruge scriptet!

----------

Shoutbox-add-php:

<?php

If(!isset($name)){
  echo "Hvad fanden, intet navn?";
  die();
}
If(!isset($comments)){
  echo "Øh, hvor er din besked?!";
  die();
}

$name = stripslashes($name);
$email = stripslashes($email);
$comments = stripslashes($comments);

$filename = "shoutbox.txt";
$fp = fopen( $filename,"r");
$OldData = fread($fp, 80000);
fclose( $fp );
      If(!isset($email)){
        $Input = "$name: $comments<br><br>.:::.\n\n";
      }else{
        $Input = "<b><center><font face=\"Tahoma\" size=\"1\"><a href=\"mailto:$email\">$name</a>:</b><br> $comments<br></font></center><br>.:::.\n\n";
      }
$New = "$Input$OldData";
$fp = fopen( $filename,"w");
fwrite($fp, $New, 80000);
fclose( $fp );
Header("Location: windowclose.php"); 

?>



Windowclose.php:

<BODY onLoad="setTimeout(window.close, 3000)">
<center>
<font face="Tahoma" size="1">Dette vindue lukker om 2 sekunder! Tak for din besked!</font>



Shoutbox1.php:


<?php

$filename = "shoutbox.txt";
$fp = fopen($filename,"r");
$Data = fread($fp, 80000);
fclose( $fp );

$DataArray = split (".:::.", $Data);

//Put in the starting tag and the ending tag number
for ($n = 0; $n < 20; $n++) {
print $DataArray[$n];
}

?>

Problemet er, at, når jeg går ind for at skrive en besked, og klikker submit knappen, så kommer beskeden "Du har ikke indtastet et navn" selvom jeg har, og beskeden bliver ikke tilføjet?

Hvad er er problemet?

og shoutbox.txt er sat til chomod 777
Avatar billede Slettet bruger
29. februar 2004 - 12:40 #1
Brug $_POST['name'] i stedet for $name og $_POST['comments'] i stedet for $comments.
Avatar billede snebold Nybegynder
29. februar 2004 - 12:41 #2
Der er flere steder, skal jeg erstatte dem alle?
Avatar billede Slettet bruger
29. februar 2004 - 12:46 #3
Eventuelt kan du lave

If(!isset($name)){
  echo "Hvad fanden, intet navn?";
  die();
}

om til:

If(!isset($_POST['name'])){
  echo "Hvad fanden, intet navn?";
  die();
} else {
  $name=$_POST['name'];
}

Og tilsvarende for $comment. Så behøver du ikke rette længere nede.
Avatar billede detox Nybegynder
29. februar 2004 - 12:49 #4
Her kan du halvere dine funktionskald:

echo "Hvad fanden, intet navn?";
die();

die('Hvad fanden, intet navn?');
Avatar billede snebold Nybegynder
29. februar 2004 - 13:06 #5
Hvis jeg laver dette:

If(!isset($_POST['name'])){
  echo "Hvad fanden, intet navn?";
  die();
} else {
  $name=$_POST['name'];
}
If(!isset($_POST['comments'])){
  echo "Besked?! Øhhhh...";
  die();
} else {
  $name=$_POST['comments'];
}


Så kommer der navnet på personen, men ingen besked?
Avatar billede Slettet bruger
29. februar 2004 - 13:09 #6
Nej, for du skal naturligvis sætte $comments til $_POST['comments'] - Du har sat $name til $_POST['comments'] ;-)

Du behøver ikke skamme dig (alt for meget), vi laver allesammen sjuskefejl en gang i mellem.
Avatar billede snebold Nybegynder
29. februar 2004 - 13:11 #7
Min fejl! det virker nu! Takker...

Sandbox, point
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