Avatar billede henrik6666 Nybegynder
09. juni 2004 - 10:43 Der er 15 kommentarer og
1 løsning

PHP version (igen)

Puha ..tør næsten ikke skrive (havde et lille uheld igår) men vover dog alligevel at få nogen til at hjælpe mig :-)

Jeg har tidligere med stor succes kunnet indsætte og editere en information til min MySQL database med nedenstående script som er i en forkortet version ..

Pt består databasen kun af nr og post1 og i nr står der fast 1

insert tekst til post1 i information :

<html>
<head>
</head>

<body>
<?php
// opret forbindelse til database
?>
<?php
if($kodeord == "kodeord"){
    echo "Følgende er tilføjet : <br><br>";
    echo "$post1";
?>
<?php
mysql_query("INSERT INTO information (post1) VALUES ('$post1') where nr = '1'");   
} else {
?>

<form method=post action="<? echo $_SERVER["PHP_SELF"]; ?>">
kodeord : <INPUT NAME=kodeord TYPE=PASSWORD size="40"><br>
Post1 : <input name=post1 type=TEXT size="40" maxlength="25"><br>
<INPUT TYPE=SUBMIT VALUE=Opdater>

</FORM>
<?
}
?>

</body>
</html>

editere post1 i information :

<html>
<head>
</head>

<body>
<?php
// opret forbindelse til database
?>

<?php
if($kodeord == "kodeord"){
echo "Oploadet ændring : <br><br>";
echo "$post1";
?>

<?php
if ($_POST["action"] == "update")
    {
        $post1 = $_POST['post1'];
       
        mysql_query("update information set post1='$post1' where nr = '1'");
    }
?>

<?php
} else {
?>

<?php
$result = mysql_query("select post1 from information where nr = '1'");
$row    = mysql_fetch_array($result);
?>

<form method=post action="<? echo $_SERVER["PHP_SELF"]; ?>">

Kodeord : <INPUT TYPE=PASSWORD NAME=kodeord><br>

  <textarea name="post1" cols="30" rows="10"><? echo "$row[post1]"; ?></textarea>
  <br>

<input type=submit value="Opdater">

<input type=hidden name=action value=update>   
</form>
<?
}
?>
</body>
</html>


Men jeg kan ikke inserte noget i min database og ej heller editere og jeg får ingen fejl overhovedet?! Nogen der har et bud ?
Avatar billede riversen Nybegynder
09. juni 2004 - 10:50 #1
kan du ikke lig ekomme med et dump af din tabel, så tjekker jeg det lige lokalt.... det er vist hurtigere, end det vi havde gang i i går :-)
Avatar billede fangel Nybegynder
09. juni 2004 - 10:51 #2
prøv også at sætter

<?php
error_reporting(E_ALL);
?>

øverst i dine filer, så får man lidt 'debug' info i form at NOTICE's...

Morten
Avatar billede henrik6666 Nybegynder
09. juni 2004 - 10:51 #3
Hej riversen :-) Jo ..smider lige lidt mere info men det er bare fordi jeg stadig ryster på hænderne men øjeblik så skal jeg være der :-)
Avatar billede fangel Nybegynder
09. juni 2004 - 10:53 #4
for lur mig om fejlen ikke ligger i register_globals = off (tjek med echo ini_get('register_globals');)

så fejlen skyldes nok at $password skal tilgås som $_POST['passowrd'];

Morten
Avatar billede fangel Nybegynder
09. juni 2004 - 10:53 #5
(stavefejl er gratis s/passowrd/password/)
Avatar billede riversen Nybegynder
09. juni 2004 - 10:58 #6
henrik: prøv det fangel foreslår. Som du så i går, skrev jeg, at din if-blok nok ikke blev udført.
Avatar billede fangel Nybegynder
09. juni 2004 - 11:00 #7
altså lav

if($kodeord == "kodeord"){

om til

if($_POST['kodeord'] == "kodeord"){

Morten
Avatar billede henrik6666 Nybegynder
09. juni 2004 - 11:12 #8
Der sker så det at siden bare refreshes ..

Indsatte øverst :

<?php
error_reporting(E_ALL);
?>

og fik følgende :

Undefined variable: _POST
Avatar billede fangel Nybegynder
09. juni 2004 - 11:20 #9
Se, det er en notice, og betydder somend bare at du prøver at tilgå en variabel der ikke findes...

dette tjekkes med funktionen isset(), og din if(..){ vil nu se således her ud

if(isset($_POST['kodeord']) AND $_POST['kodeord'] == 'kodeord'){

Først tjekker man at der er blevet sendt et kodeord (isset(...), og derefter om kodeordet er 'kodeord'

Nogle vil nok anse dette som spild af tid, men det virker, og hjælper ;)

Morten
Avatar billede henrik6666 Nybegynder
09. juni 2004 - 11:35 #10
Der sker det at intet insert'es og jeg kan ej heller editere og når jeg vil editere kan jeg ikke se hvad der står i databasen så desværre virker det ikke :-(

Når jeg smider følgende øverst i dokumentet :

<?php
error_reporting(E_ALL);
?>

..får jeg at vide at den requested side ikke findes samt en ordentlig smøre oppe i adresse-linien
Avatar billede henrik6666 Nybegynder
09. juni 2004 - 12:31 #11
Det virker som om jeg ikke skal bruge ordet information i min databse mere?!? Oprettede en ny under navnet nyhed og kunne hermed inserte oplysninger men stadig ikke editere og ej heller med fangel's to bud ..

Skriver til webhotellet nu ..så må de kunne komme med et bud medmindre andre har en virksom løsning på mit problem.
Avatar billede henrik6666 Nybegynder
10. juni 2004 - 08:31 #12
Webhotellet havde flere bud ala jeres men de virkede nu heller ikke men jeg splittede scriptet op i 2 filer og så virkede det :-)) Jeg takker for hjælp og interesse ..og deler lidt point ud efter fortjeneste ;-)
Avatar billede henrik6666 Nybegynder
10. juni 2004 - 08:32 #13
Læg lidt svar fangel og riversen :-)
Avatar billede riversen Nybegynder
10. juni 2004 - 08:45 #14
gratis herfra
Avatar billede fangel Nybegynder
10. juni 2004 - 16:34 #15
johh, deet
Avatar billede henrik6666 Nybegynder
10. juni 2004 - 17:01 #16
Nå ..troede jeg kunne fordele pointene men det kræver vist flere svar men det er lidt svært at ændre nu ;-) Ha' en go' dag ..
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