Avatar billede alluc Nybegynder
10. juli 2008 - 23:19 Der er 29 kommentarer og
1 løsning

Problemer med funktion?

Hej Eksperter,

Jeg har en ordrevisnings-funktion, som jeg har fået nogenlunde til at fungerer, dog mangler jeg at få selve vis-kvittering funktionen til at virke, samt således det er muligt at slette en ordre igen.

Jeg har følgende:

Visordrer.php
<?

ob_start();

session_start();

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

    <title>title>

    <link rel="stylesheet" type="text/css" href="../stylesheet.css">

    <link rel="shortcut icon" href="../favicon.ico">



</head>



<body>



<center>



<?

    include("../connect.php");

    sqlconnect();

?><?

if(!isset($_SESSION['admin'])) {

    include("login/admincheck.php");

} else {

echo "<br /><table style='border: 1px solid #cccccc;' cellspacing='0' cellpadding='8'>";
echo "    <tr>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>ID</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Ordrenr.</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Produkt</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Størrelse</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>|</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Firma</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Navn</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Adresse</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Adresse 2</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Postnr.</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>By</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>E-mail</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Telefon</b></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Mobil</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>|</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Beløb</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Kvittering</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>SLET</b></font></td>";
echo "    </tr>";

$select_ordrer = mysql_query("SELECT * FROM testordrer")

    or die(mysql_error());

    $number_ordrer = mysql_num_rows($select_ordrer);

    if($number_ordrer < 1) {

        echo "";

    } else {

        while($row = mysql_fetch_array($select_ordrer)) {
       
        echo "    <tr>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['id'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['ordrenr'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['produkt'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['str'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>|</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['firma'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['navn'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['adresse'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['adresse2'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['postnr'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['by'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['email'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['telefon'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['mobil'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>|</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['beloeb'] . ",00 kr.</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '><a target='_blank' href='index.php?side=vis_kvittering&id=" . $row['id'] . "'>Vis Kvittering</a></td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '><a href='index.php?side=slet_ordre&id=" . $row['id'] . "'>X</a></td>";
echo "    </tr>";
       
        }
       
    }
       
echo "</table>";

}
   
?>

Slet_ordre.php
<?

if(!isset($_SESSION['admin'])) {

    include("login/admincheck.php");

    } else {

$id = $_GET['id'];


$delete = mysql_query("DELETE from testordrer WHERE id='$id'") or die(mysql_error());


header("location:index.php?side=visordrer");



    }



?>

Vis_kvittering.php
<?

$id_sel = mysql_query("SELECT * FROM testordrer WHERE id='" . $_REQUEST['id'] . "'") or die(mysql_error());

    $row = mysql_fetch_array($id_sel);

?>

<font size='2' color='#3d9bd6'><b>»</b></font> </span> <span class='overskrift'>Kvittering - Ordrenr. <? echo $row['ordrenr']; ?></span><br /><br />

<? echo str_replace("`", "'", $row['kvittering']); ?>

Hvorfor virker det ikke ? På forhånd tak!
Avatar billede kjeldsted Novice
10. juli 2008 - 23:41 #1
Puha. Ét. Du burde gøre det hele mere simpelt. Ret fx:

echo "<br /><table style='border: 1px solid #cccccc;' cellspacing='0' cellpadding='8'>";
echo "    <tr>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>ID</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Ordrenr.</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Produkt</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Størrelse</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>|</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Firma</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Navn</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Adresse</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Adresse 2</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Postnr.</b></font></td>";
echo "        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>By</b></font></td>";

(osv, osv) til:

?>
<br /><table style='border: 1px solid #cccccc;' cellspacing='0' cellpadding='8'>
    <tr>
        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>ID</b></font></td>
        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Ordrenr.</b></font></td>
        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Produkt</b></font></td>
        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Størrelse</b></font></td>
        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>|</b></font></td>
        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Firma</b></font></td>
        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Navn</b></font></td>
        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Adresse</b></font></td>
        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Adresse 2</b></font></td>
        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>Postnr.</b></font></td>
        <td style='background-color: #3D9CD6; border-bottom: 1px solid #cccccc; '><font color='FFFFFF'><b>By</b></font></td>
(.....)<?

Samt:

echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['id'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['ordrenr'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['produkt'] . "</td>";
echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['str'] . "</td>";

Til:

echo "        <td style='border-bottom: 1px solid #cccccc; '>" . $row['id'] . "</td>
        <td style='border-bottom: 1px solid #cccccc; '>" . $row['ordrenr'] . "</td>
        <td style='border-bottom: 1px solid #cccccc; '>" . $row['produkt'] . "</td>
        <td style='border-bottom: 1px solid #cccccc; '>" . $row['str'] . "</td>";

Dette vil gøre tingede nemmere og mere overskuelige. Og hvad er det mere præcist at dit problem er? Hvilken fejl får du?
Avatar billede kjeldsted Novice
10. juli 2008 - 23:43 #2
Desuden står der "<title>title>" i toppen? Der mangler vist noget dér.
Avatar billede kjeldsted Novice
10. juli 2008 - 23:47 #3
Og nu vi er igang... Hvad vil du med:

$id_sel = mysql_query("SELECT * FROM testordrer WHERE id='" . $_REQUEST['id'] . "'") or die(mysql_error());
    $row = mysql_fetch_array($id_sel);
?>
<font size='2' color='#3d9bd6'><b>»</b></font> </span> <span class='overskrift'>Kvittering - Ordrenr. <? echo $row['ordrenr']; ?></span><br /><br />
<? echo str_replace("`", "'", $row['kvittering']); ?>

Du bør kun benytte $row=mysql_fetch_array, hvis du kører en loop hvor du udskriver flere resultater. Hvis kun du vil have én række ud bør du bruge mysql_result. Det er lidt mere simpelt.
Avatar billede alluc Nybegynder
10. juli 2008 - 23:51 #4
Jamen jeg får følgende fejl - siden kan ikke vises når jeg enten forsøger at slette eller få vist kvitteringen ? - Så tror ikke direkte der er noget galt i koden eller?
Avatar billede kjeldsted Novice
10. juli 2008 - 23:55 #5
Har du PHP fejl til eller fra?
Avatar billede alluc Nybegynder
10. juli 2008 - 23:58 #6
Hvad? jeg får ikke nogen php fejl men da det ikke virker må der jo være noget galt ikke ?
Avatar billede kjeldsted Novice
10. juli 2008 - 23:59 #7
Nej. Men hvis serveren er konfirguret til ikke at vise fejl viser den sjov nok ikke fejl. Det er en rigtig god idé at sætte PHP fejl til når man udviklet på systemet.
Avatar billede alluc Nybegynder
11. juli 2008 - 00:00 #8
nå ok nu forstår jeg - jo det er slået til :D men den kommer kun frem med at siden ikke kan vises
Avatar billede kjeldsted Novice
11. juli 2008 - 00:02 #9
Får du en HTTP 404?
Avatar billede alluc Nybegynder
11. juli 2008 - 00:03 #10
ja
Avatar billede kjeldsted Novice
11. juli 2008 - 00:04 #11
Så kan det kun være fordi du prøver at åbne en fil der ikke eksistere på din server. Det har ikke noget med PHP at gøre. du har ikke lavet en tryk fejl i adresselinjen el.lign?
Avatar billede alluc Nybegynder
11. juli 2008 - 00:05 #12
Nej det synes jeg jo ikek jeg har ;D
Avatar billede kjeldsted Novice
11. juli 2008 - 00:06 #13
Du er 100 % sikker på at filen ligger i den rigtig mappe på serveren?
Avatar billede alluc Nybegynder
11. juli 2008 - 00:07 #14
Har fundet fejlen den skriver:

http://www.blabla.dk/ordrer/index.php?side=vis_kvittering&id=1

Hvor den burde skrive:
http://www.butik-bibby.dk/index.php?side=vis_kvittering&id=1

Hvordan kan man ændre dette?
Avatar billede kjeldsted Novice
11. juli 2008 - 00:08 #15
Øh... Nu er jeg ikke med... Hvor skriver hvad ovenstående?
Avatar billede alluc Nybegynder
11. juli 2008 - 00:09 #16
Ikke noget fandt fejlen .. smid et svar for dit besvær
Avatar billede kjeldsted Novice
11. juli 2008 - 00:10 #17
Bare i orden... Men tag også lige et kig på de tre første kommentarere jeg skrev. Specielt nr. 1. Den kan spare dig for mange tegn, besvær og bytes ;-)
Avatar billede alluc Nybegynder
11. juli 2008 - 00:11 #18
Ok Takker
Avatar billede kjeldsted Novice
11. juli 2008 - 00:15 #19
Desuden bør du tage et kig på http://validator.w3.org/check?uri=http%3A%2F%2Fwww.butik-bibby.dk%2Findex.php%3Fside%3Dvis_kvittering%26id%3D1&charset=%28detect+automatically%29&doctype=Inline&group=0. Hvis ud retter den fejl (og evt. andre kommende) kan du spare dig for mange browser problemer.

Og tak for point.
Avatar billede alluc Nybegynder
11. juli 2008 - 00:17 #20
OK... Men hvordan fjerner jeg "ordrer" i følgende: http://www.blabla.dk/ordrer/index.php?side=vis_kvittering&id=1
Avatar billede kjeldsted Novice
11. juli 2008 - 00:19 #21
Øh. Jeg er stadig ikke helt med på hvad du mener med dette. Bliver linket udskrevet via en PHP kode? Og i så fald hvilken?
Avatar billede alluc Nybegynder
11. juli 2008 - 00:25 #22
kan sq ikke lige overskue det :D
Men har et andet spg.:
Hvorfor kan jeg ikke slette - får følgende fejlmelding.

Fatal error: Cannot redeclare sqlconnect() (previously declared in /usr/home/web/111/connect.php:7) in /usr/home/web/111/connect.php on line 29
Avatar billede kjeldsted Novice
11. juli 2008 - 00:28 #23
Så skal jeg vide hvad der står i connect.php linje 7 (også gerne de to forrige og de to efterfølgende) samt connect.php linje 29...
Avatar billede alluc Nybegynder
11. juli 2008 - 00:30 #24
Her er min connect.php
<?php



function sqlconnect() {

$server = ''; <- linie 7

$bruger = '';

$kodeord = '';

$database = '';



if (@!mysql_connect($server,$bruger,$kodeord)) {

die('Couldn\'t connect to &quot;'.$server.'&quot; as &quot;'.$bruger.'&quot; using password &quot;**********&quot;');

} elseif (!mysql_select_db($database)) {

die('Database &quot;'.$database.'&quot; doesn\'t exist!');

}



} <- linie 29





function sqlclose() {

mysql_close();

}



?>
Avatar billede kjeldsted Novice
11. juli 2008 - 00:34 #25
Hm... Der er ikke et eller andet sted hvor du angiver funktionen sqlconnect()? Jeg kan ikke helt forstå den brokker sig over linje 29...
Avatar billede alluc Nybegynder
11. juli 2008 - 00:39 #26
måske i nogle af ovenstående 3 filer; vis_kvittering.php, slet_ordre.php eller visordrer.php
Avatar billede kjeldsted Novice
11. juli 2008 - 00:41 #27
I så fald kan det være problemet.
Avatar billede alluc Nybegynder
11. juli 2008 - 00:41 #28
øhh hvad kan jeg gøre ved det ?
Avatar billede kjeldsted Novice
11. juli 2008 - 00:44 #29
Hm... Det er umiddelbart lidt svært for mig at se hvad denne fejl skyldes... Sidder stadig og kigger man kan desværre ikke rigtig konkludere noget...
Avatar billede kjeldsted Novice
11. juli 2008 - 00:50 #30
Hm.. At den brokker sig over at du angiver en funktion på linjen $server = ''; og derefter angiver den samme funktion på linjen } forstår jeg ikke helt...
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