Avatar billede ofirpeter Nybegynder
07. januar 2004 - 20:02 Der er 16 kommentarer og
1 løsning

Fejl i PHP script

Jeg har lavet dette PHP script. Hvor man går ind på en xxx?id=x side og herefter retter man i etr stykke tekst og trykker gem. Nu udskriver scriptet så hvilken id man er gået ind på siden under og den tekst man har skrevet. For overhoved at komme til siden indtaster man et bruger navn. Som skal mache med id'et.
Men jeg for en fejl i linie 52 ("} else {") som jeg ikke forstår.
Den skriver "Parse error: parse error, expecting `','' or `';''"

Mit script ser således ud:

<?
$idbruger = $_GET['id'];
$log_bruger = $_SESSION['user'];

$hent2 = mysql_query("select * from 9bopslagkom where id=$idbruger") or die(mysql_error());
while ($ud2 = mysql_fetch_array($hent2)) {


if($log_bruger == "$ud2[bruger]")
{
echo "Du kan redigere i indlæget soom du har lyst!";
echo "lidt oplysninger, id=$idbruger og bruger =$log_bruger  ";
echo "<br> <br>";


if(isset($_REQUEST['gem'])) 
$tekst = $_REQUEST["tekst"];
echo "$idbruger OG $tekst";
echo "<form action='' metod='post' >
    <textarea class='brugerpass' name='tekst' cols='65' rows='15'>$kommentar</textarea>
    <br><input class='login' type='submit' name='gem' value='Gem'></form>"

} else {
echo "Du har ikke adgang til at redigere i indlæget";
}
?>
<? } ?>
Avatar billede fcknet Nybegynder
07. januar 2004 - 20:04 #1
<?
$idbruger = $_GET['id'];
$log_bruger = $_SESSION['user'];

$hent2 = mysql_query("select * from 9bopslagkom where id=$idbruger") or die(mysql_error());
while ($ud2 = mysql_fetch_array($hent2)) {


if($log_bruger == "$ud2[bruger]")
{
echo "Du kan redigere i indlæget soom du har lyst!";
echo "lidt oplysninger, id=$idbruger og bruger =$log_bruger  ";
echo "<br> <br>";


if(isset($_REQUEST['gem'])) 
$tekst = $_REQUEST["tekst"];
echo "$idbruger OG $tekst";
echo "<form action='' metod='post' >
    <textarea class='brugerpass' name='tekst' cols='65' rows='15'>$kommentar</textarea>
    <br><input class='login' type='submit' name='gem' value='Gem'></form>";

} else {
echo "Du har ikke adgang til at redigere i indlæget";
}
?>
<? } ?>
Avatar billede eagleeye Praktikant
07. januar 2004 - 20:04 #2
Der mangler også en slut }  til enten din while eller if($log_bruger ..
Avatar billede fcknet Nybegynder
07. januar 2004 - 20:04 #3
Du manglede ";" efter linjen før }else{
Avatar billede ofirpeter Nybegynder
07. januar 2004 - 20:41 #4
Ja så fik jeg siden frem. Men det virker stadig ikke som jeg synes det burde :-) Jeg har ændret lidt i koden så det nu ser sådan ud:

<?
$idbruger = $_GET['id'];
$log_bruger = $_SESSION['user'];
$hent2 = mysql_query("select * from 9bopslagkom where id='$idbruger'") or die(mysql_error());
while ($ud2 = mysql_fetch_array($hent2)){


if($log_bruger == "$ud2[bruger]"){
echo "Du kan redigere i indlæget soom du har lyst!";
echo "lidt oplysninger, id=$idbruger og bruger =$log_bruger  ";
echo "<br> <br>";
echo "<form action='' metod='post' >
    <textarea class='brugerpass' name='tekst' cols='65' rows='15'>$ud2[$kommentar]</textarea>
    <br><input class='login' type='submit' name='gem' value='Gem'></form>";
} else {
echo "Du har ikke adgang til at redigere i indlæget";
}
if(isset($_REQUEST['gem'])) {
$tekst = $_REQUEST["tekst"];
echo "$idbruger OG $tekst";
}}
?>

Men den udskriver ikke $ud2[kommentar] i formularen. Den er bare blank.
Og når jeg trykker på "gem" Så bliver siden bare blank, den udskriver altså ikke echo "$idbruger OG $tekst";
Avatar billede eagleeye Praktikant
07. januar 2004 - 20:54 #5
Prøv uden $ foran kommentar:

$ud2[$kommentar]    ->> $ud2[kommentar]
Avatar billede eagleeye Praktikant
07. januar 2004 - 20:57 #6
Prøv at bruge $_POST:

if(isset($_POST['gem'])) {
$tekst = $_POST["tekst"];
Avatar billede ofirpeter Nybegynder
07. januar 2004 - 21:00 #7
Nu er det tæt på! Nu kan jeg se hvad der står i kommentar. Men den vil stadig ikke skrive ud i echo'et.
Avatar billede ofirpeter Nybegynder
07. januar 2004 - 21:00 #8
Men den skriver slet ikke noget heller ikke "OG"
Avatar billede fcknet Nybegynder
07. januar 2004 - 21:07 #9
det er nok fordi register_globals er off...
Avatar billede eagleeye Praktikant
07. januar 2004 - 21:09 #10
Skriver den Du kan redigere i indlæget soom du har lyst  ?
Avatar billede eagleeye Praktikant
07. januar 2004 - 21:11 #11
Prøv at rette:
if($log_bruger == "$ud2[bruger]"){

Til:

if($log_bruger == $ud2[bruger]){
Avatar billede ofirpeter Nybegynder
07. januar 2004 - 21:36 #12
Der sker ingen ændring når jeg retter det. Og ja den skriver at jeg kan redigere som jeg har lyst. Lidt mystisk..
Avatar billede eagleeye Praktikant
07. januar 2004 - 21:49 #13
Måske ikke helt hvis du submitter form midster du dit ID i querystringen link.php?id=333  fordi det er method="post"
Så rpøv at lave form tagen sådan her:

echo "<form action='?id=$idbruger' metod='post' >
Avatar billede ofirpeter Nybegynder
07. januar 2004 - 22:11 #14
Ja du har helt sikkert ret i det er der fejlen ligger! Url'en når jeg skriver hej i boxen og trykker gem bliver følgende: .../rediger.php?tekst=Hej&gem=Gem

Siden bliver stadig blank, koden ser nu sådan ud:

<?
$idbruger = $_GET['id'];
$log_bruger = $_SESSION['user'];
$hent2 = mysql_query("select * from 9bopslagkom where id='$idbruger'") or die(mysql_error());
while ($ud2 = mysql_fetch_array($hent2)){


if($log_bruger == $ud2[bruger]){
echo "Du kan redigere i indlæget soom du har lyst!";
echo "lidt oplysninger, id=$idbruger og bruger =$log_bruger  ";
echo "<br> <br>";
echo "<form action='?id=$idbruger' metod='post' >
    <textarea class='brugerpass' name='tekst' cols='65' rows='15'>$ud2[kommentar]</textarea>
    <br><input class='login' type='submit' name='gem' value='Gem'></form>";
} else {
echo "Du har ikke adgang til at redigere i indlæget";
}
if(isset($_POST['gem'])) {
$tekst = $_POST["tekst"];
echo "$idbruger OG $tekst";
}}
?>
Avatar billede eagleeye Praktikant
07. januar 2004 - 22:14 #15
der mangler også et h i method prøv lige:

echo "<form action='?id=$idbruger' method='post' >
Avatar billede ofirpeter Nybegynder
07. januar 2004 - 22:20 #16
Jubii! Så kan jeg sove trykt! Det var rigtigt dejligt. Mange tak for hjælpen, vil med største fornøjelse forære dig point'ne!
Avatar billede eagleeye Praktikant
07. januar 2004 - 22:22 #17
Ok ;) så ligger jeg da lige et svar.
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