Avatar billede chris0905 Nybegynder
12. april 2011 - 14:46 Der er 13 kommentarer og
1 løsning

Ændre mysql fra website

Hej eksperter!

Jeg har prøvet på at lave et mini-cms. Jeg er bare gået i stå, når man skal redigere en side... Jeg har fundet en kode der kan, men den siger at der er fejl.
"Fatal error: Call to undefined function mysql_prep() in /var/www/users/100xxx/bjerregaard-bryg.dk/xxxx/opdater_besked.php on line 44"

Jeg har følgende kode: (har sat hvor den melder fejl)

<a href="vis_besked.php">Tilbage</a>
<?php
include('connect.php');
    if (isset($_GET['id'])) {
        $page = $_GET['id'];
   
        $query = "SELECT * FROM sider WHERE url = '$page' LIMIT 1";
        $result = mysql_query($query);
        $data = mysql_fetch_array($result);
?>       
       
<h3>Redigér eller slet link</h3>
<?php print "Side:" . $data['overskrift'] . ""; ?>
<form method="POST" action="">
        <table>
            <tr>
                <td>Internetadresse:</td>
                <td colspan="2"><input type='text' name='url' value="<?php echo
$data['url']; ?>" /></td>
            </tr>       
            <tr>
                <td>Sidens navn:</td>
                <td colspan="2"><input type='text' name='overskrift' value="<?php echo
$data['overskrift']; ?>" /></td>
            </tr>       
            <tr>
                <td>Kort beskrivelse:</td>
                <td colspan="2"><textarea name="indhold"><?php echo
$data['indhold']; ?></textarea></td>
            </tr>
            <tr>
                <td></td>
                <td><input type='submit' name='submit' value="Opdater" /></td>
                <td><a href='slet_besked.php?id=<?php echo $id; ?>'>Slet</a></td>
            </tr>
            <input type='hidden' name='id' value="<?php echo $data['id']; ?>" />
        </table>     
</form>
<?php     
    }   

if(isset($_POST['submit'])){
   
    $url = mysql_prep($_POST['url']);        //HER SIGER DEN FEJL!
    $overskrift = mysql_prep($_POST['overskrift']);
    $indhold = mysql_prep($_POST['indhold']);
    $link_updatequery = "UPDATE cms_links SET url = '{$url}', overskrift = '{$overskrift}',
description = '{$indhold}' WHERE id = ".$_POST['link_id'];
    if(mysql_query($link_updatequery)){
        header("Location: admin_links.php");
    }else{
        echo "query fejl";
        echo "<p>".mysql_error()."</p>";
    }
   
}

?>



Er der nogen der ved hvad jeg har gjort galt???


Mvh.

Christoffer
Avatar billede michael_stim Ekspert
12. april 2011 - 15:32 #1
Den kan ikke genkende mysql_prep. Includer du den?
Avatar billede chris0905 Nybegynder
12. april 2011 - 15:41 #2
"Inluder du den?" hva mener du...
Avatar billede michael_stim Ekspert
12. april 2011 - 15:44 #3
Tror ikke mysql_prep er en indbygget funktion, så du må jo include den.
Avatar billede chris0905 Nybegynder
12. april 2011 - 15:57 #4
??? - det ved jeg ikke hvordan man gør.. kan man bruge noget andet???
Avatar billede michael_stim Ekspert
12. april 2011 - 15:58 #5
Er det ikke en funktion du har udviklet, må du jo fjerne kaldet. Du kan ikke kalde på en funktion der ikke eksisterer.
Avatar billede michael_stim Ekspert
12. april 2011 - 15:59 #6
$url = $_POST['url'];        //HER SIGER DEN FEJL!
Avatar billede mediman Nybegynder
12. april 2011 - 16:04 #7
Prøv med

function mysql_prep( $value ) {
$magic_quotes_active = get_magic_quotes_gpc();
$new_enough_php = function_exists( "mysql_real_escape_string" ); // i.e. PHP >= v4.3.0
if( $new_enough_php ) { // PHP v4.3.0 or higher
// undo any magic quote effects so mysql_real_escape_string can do the work
if( $magic_quotes_active ) { $value = stripslashes( $value ); }
$value = mysql_real_escape_string( $value );
} else { // before PHP v4.3.0
// if magic quotes aren't already on then add slashes manually
if( !$magic_quotes_active ) { $value = addslashes( $value ); }
// if magic quotes are active, then the slashes already exist
}
return $value;
}
Avatar billede chris0905 Nybegynder
12. april 2011 - 16:03 #8
nu siger den:

query fejl
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2
Avatar billede michael_stim Ekspert
12. april 2011 - 16:09 #9
Så er det et andet problem. Echo din SQL i stedet for at køre den.
Avatar billede chris0905 Nybegynder
12. april 2011 - 19:40 #10
hvor skal jeg sætte den kode ind?
Avatar billede rix Novice
14. april 2011 - 09:02 #11
prøv lige under include('connect.php');
Avatar billede chris0905 Nybegynder
14. april 2011 - 20:11 #12
Tak! det virker i hvert fald nu! Smid svar!
Avatar billede michael_stim Ekspert
18. april 2011 - 10:23 #13
Hvis du tænker på mig, så samler jeg ikke på point.
Avatar billede chris0905 Nybegynder
18. april 2011 - 10:39 #14
Okay! og de andre er vist heller ikke interesserede, så jeg lukker!
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