abonnement Unibet Coolblue Bitvavo
pi_31693851
quote:
Op woensdag 26 oktober 2005 06:40 schreef Light het volgende:

[..]

Dat heb ik inderdaad ook wel eens gezien, en dat werkt ook wel handig
Wow, volgens mij gaat er iets niet goed met de encoding van Roönaäns naam in die quote

[ Bericht 2% gewijzigd door JeRa op 26-10-2005 06:50:01 ]
pi_31693858
Hmmja, vaag.
pi_31693867
Browser restart werkt ook al niet
pi_31695383
Maar iemand enig idee hoe ik die 'hack' werkend krijg?
  woensdag 26 oktober 2005 @ 12:22:04 #55
61660 Lariekoek
Zo, jij bent echt grappig.
pi_31697740
Nog even 2 vraagjes..
Ik ben bezig met een winkelmandje waarbij gebruikers een artikel kunnen selecteren en hier zelf een persoonlijke tekst bij kunnen toevoegen.

Vanuit het winkelmandje volgt er een link naar de pagina teksttoevoegen.php waar de tekst toegevoegd kan worden. Dit sla ik op in een sessie.

1
2
3
4
5
6
7
8
9
<?php
if (isset($verzonden))
          {
            
$_SESSION['tekst']['artikel_id'] = $tekst;
          }
          echo
"<form method=\"post\" action=\"$PHP_SELF\">\n";
          echo
"<td><font color=\"#DAAE57\">Tekst:</td>";
          echo
"<td><input type=\"text\" name=\"tekst\" size=\"17\" maxlength=\"9\">";
?>


In het winkelmandje lees ik dit vervolgens weer uit

1
2
3
4
<?php

      
echo "<td width=\"85\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\">".$tekst['artikel_id']."</td>";
?>


Nu heb ik 2 probleempjes.

De eerste keer tekst toevoegen gaat goed, en laat hij keurig de ingevoerde tekst zien. Wanneer ik deze tekst nu wil wijzigen krijg ik als tekst terug Array.

Wanneer er van 1 artikel twee stuks besteld worden moet er twee keer tekst ingevuld worden. Dit mag twee keer een andere tekst zijn, alleen neemt hij de eerst ingevoerde tekst klakkeloos over.

Iemand enig idee hoe ik deze 2 problemen kan oplossen?
la·rie·koek (de ~ (m.)) 1 onzin
pi_31698696
1) Dan maak je dus niet goed gebruik van Arrays.
2) Zie 1.

Btw, wat leesvoer: http://nl3.php.net/variables.predefined & http://nl3.php.net/register_globals

Tip: laat meer van je code zien, want we kunnen op deze manier niks
  woensdag 26 oktober 2005 @ 13:23:59 #57
61660 Lariekoek
Zo, jij bent echt grappig.
pi_31699061
Dit is zeg maar de gehele code.

winkelwagen.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php
php
session_start
();
include
"config.inc.php";
echo
"<body bgcolor=\"#000000\">";
echo
"<body link=\"#FFFFFF\" vlink=\"#FFFFFF\" alink=\"#FFFFFF\">";

// Toevoegen
if( isset( $_POST['ADD'] ) && ereg('^[1-9][0-9]*$', $_POST['aantal'])) {
$_SESSION['winkelwagen'][$_POST['artikelid']] = $_POST['aantal'];
}
// Verwijderen
if( isset( $_GET['DEL'] ) ) {
unset(
$_SESSION['winkelwagen'][$_GET['DEL']]);
}
// Laat lijst zien
if( $_SESSION['winkelwagen'] ) {
  
$totaal = 0;
  
$totaalart = 0;
  echo
"<table border=\"0\" width=\"539\" cellspacing=\"0\" cellpadding=\"0\" id=\"table1\">";
  echo
"<tr>";
  echo
"<td width=\"47\" align=\"center\"><b><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">Aantal</font></b></td>";
  echo
"<td width=\"58\" align=\"center\"><b><font face=\"Verdana\" color=\"#DAAE57\" size=\"2\">Naam</font></b></td>";
  echo
"<td width=\"152\" align=\"center\"><b><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">Omschrijving</font></b></td>";
  echo
"<td width=\"73\" align=\"center\"><b><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">Prijs in ¤</font></b></td>";
  echo
"<td width=\"85\" align=\"center\"><b><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">Tekst</font></b></td>";
  echo
"<td width=\"91\" align=\"center\"><b><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">Tekst kleur</font></b></td>";
  echo
"<td width=\"20\" align=\"center\"> </td>";
  echo
"</tr>";
  foreach (
$_SESSION['winkelwagen'] as $key=&gt;$val )
  {
    
$sql = "SELECT * FROM artikel WHERE artikel_id=$key";
    
$resultaat = mysql_query($sql);
    while (
$rij = mysql_fetch_array($resultaat))
    {
      echo
"<tr>";
      echo
"<td width=\"47\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\">$val</td>";
      echo
"<td width=\"58\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\">".$rij["naam"]."</td>";
      echo
"<td width=\"152\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\">".$rij["omschrijving"]."</td>";
      
$totaalart = totaalart + ($rij["prijs"] * $val);
      echo
"<td width=\"73\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\">".number_format($totaalart, 2, ',', ' ')."</td>";
      echo
"<td width=\"85\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\">".$tekst[$artikel_id]."</td>";
      echo
"<td width=\"91\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\"></td>";
      echo
"<td width=\"20\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\"><a href=\"$PHP_SELF?DEL=$key\"><img src=\"images\del.gif\" border=\"0\" alt=\"Verwijder ".$rij["naam"]."\"></a></td>";
      echo
"</tr>";
      
$totaal = $totaal + ($rij["prijs"] * $val);
    }
  }
  echo
"<tr>";
  echo
"<td width=\"47\" align=\"center\"> </td>";
  echo
"<td width=\"58\" align=\"center\"> </td>";
  echo
"<td width=\"152\" align=\"center\"><b><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">Totaal bedrag:</font></b></td>";
  echo
"<td width=\"73\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">".number_format($totaal, 2, ',', ' ')."</font></td>";
  echo
"<td width=\"85\" align=\"center\"> </td>";
  echo
"<td width=\"91\" align=\"center\"> </td>";
  echo
"<td width=\"20\" align=\"center\"> </td>";
  echo
"</tr>";
  echo
"</table>";
  } else {

    echo
"<font color=\"#FFFFFF\">De winkelwagen is momenteel leeg...";

}

if (
$_GET["artikelid"]) {

    
$sql = "SELECT * FROM artikel WHERE artikel_id=".$_GET["artikelid"];
    
$result = mysql_query($sql);
    if (
mysql_num_rows($result) &gt; 0) {
    
$naam = mysql_result($result, 0, "Naam");
    
$prijs = number_format(mysql_result($result, 0, "Prijs"), 2, ',', ' ');
    echo
"<font color=\"#DAAE57\">Artikel toevoegen aan winkelwagen</font>";
    echo
"<form method=\"post\" action=\"$PHP_SELF\">";
    echo
"<input type=\"hidden\" name=\"artikelid\" value=\"$artikelid\">";
    echo
"<input type=\"text\" name=\"aantal\" value=\"1\" size=\"2\" maxlength=2>";
    echo
"<font color=\"#FFFFFF\"> x Artikel: $naam (prijs: $prijs euro)</font>";
    echo
"<input type=\"submit\" name=\"ADD\" value=\"Toevoegen\">";
    echo
"</form>";
    }
}
?>


teksttoevoegen.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
php
session_start
();
include
"config.inc.php";
echo
"<body bgcolor=\"#000000\">";
echo
"<body link=\"#FFFFFF\" vlink=\"#FFFFFF\" alink=\"#FFFFFF\">";
$sitepad = "images/";

if(
$_SESSION['winkelwagen'] )
{
  foreach(
$_SESSION['winkelwagen'] as $key=&gt;$val )
  {
    
$sql = "SELECT * FROM artikel WHERE artikel_id=$key";
    
$resultaat = mysql_query($sql);
    while (
$rij = mysql_fetch_array($resultaat))
    for (
$nr=1; $nr&lt;=$val; $nr++)
    {
      
$sql = "SELECT * FROM afbeelding WHERE artikel_id=".$rij["artikel_id"];
      
$afbeeldingen = mysql_query($sql);
      if (
mysql_num_rows($afbeeldingen) &gt; 0)
      {
        while (
$afb_rij = mysql_fetch_array($afbeeldingen))
        {
          
$bestandsnaam = $sitepad.$afb_rij["afbeelding_id"].$afb_rij["bestandstype"];
          echo
"$key";
          echo
"".$tekst['__artikel_id__']."";
          echo
"<table border=0>";
          echo
"<tr>";
          echo
"<td><font color=\"#DAAE57\">Artikel:</td>";
          echo
"<td><img src=\"$bestandsnaam\" width=\"125\" height=\"30\"></td>";
          echo
"<td align=\"left\" valign=\"top\"></td>";
          echo
"</tr><tr>";
          echo
"<td>";
          echo
"<font color=\"#DAAE57\">Prijs per stuk:";
          echo
"</td>";
          echo
"<td><font color=\"#DAAE57\">".number_format($rij["prijs"], 2, ',', '')."</td>";
          echo
"<td></td>";
          echo
"</tr><tr>";
          if (isset(
$verzonden))
          {
            
$_SESSION['tekst'][$artikel_id] = $tekst;
          }
          echo
"<form method=\"post\" action=\"$PHP_SELF\">\n";
          echo
"<td><font color=\"#DAAE57\">Tekst:</td>";
          echo
"<td><input type=\"text\" name=\"tekst\" size=\"17\" maxlength=\"9\">";
          echo
"<td><font size=\"1\" face=\"Arial\"><font color=\"#FFFFFF\">Max. 9 posities in hoofdletters</font></td>";
          echo
"</tr><tr>";
          echo
"<td><font color=\"#DAAE57\">Kleur opdruk:</td>";
          echo
"<td></td>";
          echo
"<input type=\"submit\" name=\"verzonden\" value=\"Toevoegen\">";
          echo
"</form>";
          echo
"</tr>";
          echo
"</table>";
        }
      }
    }
  }
}
?>
la·rie·koek (de ~ (m.)) 1 onzin
pi_31699170
1
2
$tip = 'als je enkele quotes gebruikt 
    dan hoef je "dubbele quotes" niet te escapen';
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  woensdag 26 oktober 2005 @ 13:33:48 #59
61660 Lariekoek
Zo, jij bent echt grappig.
pi_31699288
quote:
Op woensdag 26 oktober 2005 13:29 schreef SuperRembo het volgende:

[ code verwijderd ]
Ok thnx
la·rie·koek (de ~ (m.)) 1 onzin
pi_31699613
teksttoevoegen.php
r41 $_SESSION['tekst'][$artikel_id] = $tekst;
Waar staan $artikel_id & $tekst ?

Ik ga 'm verder niet debuggen, is niet te doen met zo'n code (nofi). Ik raad je aan om toch maar eens een goed boek of een aantal goede tutorials te lezen.
pi_31702987
Ik heb mijn code nu min of meer werkend.. Alleen mn script moet een cookie controlleren (of je ingelogd bent) en dan een slowchat weergeven. Wat er nu gebeurd is dat alleen de regel Welkom gast! log in voor meer opties. .

Terwijl ik, als ik naar het document zelf ga, wel gewoon alles zie (dus cookie klopt nogsteeds).

Iemand een idee? Werkt mn controlle niet na een include?
pi_31703893
ik heb het min of meer opgelost nog wel wat kleine kinderziektes..
pi_31706174
Ik heb een probleem en ik begin ondertussen redelijk wanhopig te worden. Ik kan namelijk geen enkele oplossing bedenken/vinden. Ik heb een PHP bestand dat een afbeelding upload en deze vervolgens aan mij mailt. Maar bij dat laatste gaat het soms mis. Behoorlijk mis.

De afbeelding wordt wél geupload, maar de mail met de afbeelding wordt niet naar mij verzonden. Dat terwijl degene die de afbeelding upload wél een bedankmailtje krijgt.

Ik ben erachter gekomen dat afbeeldingen met extra data niet worden gemailt. Een gewoon JPEG-tje gaat prima. Maar een foto van een digitale camera, met daarin allerlei gegevens als merk, datum, tijd, thumbnail, enz... , loopt compleet in de soep.

Hieronder de code voor het mailtje naar mij toe:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
$header
="";
$message="";
$boundary='--' . md5( time() );
$priority='3 (Normal)';
$charset="iso-8859-1";
$ctencoding="8bit";
$subject="Een nieuwe afbeelding";
$body  = "Een nieuwe afbeelding.";
$to="mij@mail.nl";
$from=$naam."<".$email.">";
$sep= chr(13) . chr(10);
$ctype=$_FILES['imagefile']['type'];
$disposition="inline";
$filename = basename($path);
$message .="--$boundary\n";
$message .= "Content-Type: text/plain; charset=$charset\n";
$message .= "Content-Transfer-Encoding: $ctencoding\nContent-Disposition: $disposition\n\n" . $body ."\n";
$message .="--$boundary\nContent-Type: $ctype; name=\"$filename\"\n";
$message .="Content-Transfer-Encoding: base64\nContent-Disposition: attachment; filename=\"$filename\"\n";
$linesz= filesize($path)+1;
$fp= fopen( $path, 'r' );
$content = chunk_split(base64_encode(fread( $fp, $linesz)));
fclose($fp);
$message .= $sep.$content.$sep.$boundary."--";

$header.="From: $from\nX-Priority: $priority\n";
$header.="Mime-Version: 1.0\nContent-Type: multipart/mixed;\n boundary=\"$boundary\"\n";
$header.="Content-Transfer-Encoding: $ctencoding\nX-Mailer: Php/libMailv1.3\n";

mail($to,$subject,$message."\n",$header);
?>


Als iemand hierin een fout ziet, of een goed werkend script weet, dan hoor ik het graag.
pi_31706206
Owja: de $naam, $email en $path worden bovenin ergens gemaakt. Dat gaat gewoon goed.
pi_31708367
quote:
Die bovenste link is niet voor bijlagen, voor zover ik het begrijp.

Die andere 2 links zijn classes die je moet installeren, maar daar kan ik (volgens mij) niet bij. Ik heb gewoon een server bij een hosting provider en niet een eigen server.

Of begrijp ik het gewoon verkeerd?
pi_31708401
Overigens heb ik de code overgenomen van http://nl3.php.net/manual/en/ref.mail.php#54863 .
pi_31716373
Gewoon phpmailer gebruiken. Een class is niets meer dan een phpscript met een class definition erin. Als je zelf php files op je server kan zetten, kan je ook de derde class erop zetten. PEAR kan je ook zelf erop zetten, maar kost wat meer moeite als je beginnende PHPer bent. (Niet veel moeite though).
pi_31717391
Ik ben niet zo goed met joins etc, dus dat wil ik leren maar wat doe ik fout bij deze join?

"SELECT p.username,p.id,p.Model FROM profielen p INNER JOIN profielen_images i ON i.user_id = p.id WHERE COUNT(i.id) > 0"

Ik heb dus 2 tabellen, profielen en profielen_images en ik wil de profielen selecteren welke 1 of meerdere fotos hebben?
pi_31717425
quote:
Op donderdag 27 oktober 2005 05:47 schreef Roonaan het volgende:
Gewoon phpmailer gebruiken. Een class is niets meer dan een phpscript met een class definition erin. Als je zelf php files op je server kan zetten, kan je ook de derde class erop zetten. PEAR kan je ook zelf erop zetten, maar kost wat meer moeite als je beginnende PHPer bent. (Niet veel moeite though).
Ok... ik heb PHPmailer geinstalleerd en hij werkt. Maar mijn probleem is nog steeds niet over. JPG bestanden met daarin EXIF informatie (eigenaar, merk, datum, enz...) kan ik niet als bijlage meegeven. De mail wordt dan gewoon niet verzonden. Dat terwijl PHPmailer gewoon een "Message has been sent" geeft.

Kan het soms aan de mailserver liggen?
pi_31717578
quote:
Op donderdag 27 oktober 2005 09:13 schreef Darkomen het volgende:
Ik ben niet zo goed met joins etc, dus dat wil ik leren maar wat doe ik fout bij deze join?

"SELECT p.username,p.id,p.Model FROM profielen p INNER JOIN profielen_images i ON i.user_id = p.id WHERE COUNT(i.id) > 0"

Ik heb dus 2 tabellen, profielen en profielen_images en ik wil de profielen selecteren welke 1 of meerdere fotos hebben?
Als je de count in je WHERE clausule zet, moet je die ook wel in je select zetten. Dat INNER JOIN is volgens mij niet nodig, en kan je gewoon vervangen door een komma.

SELECT count(*), p.id FROM profielen p, profielen_images i WHERE i.user_id = p.id AND count(p.id) > 0

Ik weet niet zeker of het werkt, maar ik denk dat je zo in de goede richting zit.
Vicariously I live while the whole world dies
pi_31717645
quote:
Op donderdag 27 oktober 2005 09:15 schreef HuHu het volgende:

[..]

Ok... ik heb PHPmailer geinstalleerd en hij werkt. Maar mijn probleem is nog steeds niet over. JPG bestanden met daarin EXIF informatie (eigenaar, merk, datum, enz...) kan ik niet als bijlage meegeven. De mail wordt dan gewoon niet verzonden. Dat terwijl PHPmailer gewoon een "Message has been sent" geeft.

Kan het soms aan de mailserver liggen?
Echo de mail eens, eens kijken wat je krijgt.

Edit: Die query klopt ook niet, ik begin er steeds minder van te begrijpen :S
pi_31717744
quote:
Op donderdag 27 oktober 2005 09:31 schreef Darkomen het volgende:

[..]

Echo de mail eens, eens kijken wat je krijgt.

Edit: Die query klopt ook niet, ik begin er steeds minder van te begrijpen :S
Het werkt wel, de headers en zo zijn allemaal correct. Er wordt alleen niets verzonden. Gebruik ik een andere JPG of een tekst-document als bijlage, dan krijg ik binnen een seconde die mail in m'n inbox.

En probeer jij de query van nyny83 eens. Een inner join is gewoon een lijstje van tabellen die je bij de FROM opneemt (gescheiden door komma's) en de voorwaarden (i.user_id = p.id) neem je op in de WHERE.
pi_31717825
Hij zegt al dat het niet werkt.. welke foutmelding krijg je? Ik kan het hier natuurlijk niet zelf testen, ik heb jouw tabellen niet etc. Misschien kunnen we wat met je foutmelding.
Vicariously I live while the whole world dies
pi_31717876
even niet goed gelezen. Misschien is dit wat. Ik neem aan dat de profielen zonder image niet voorkomen in profielen_images.

1
2
3
4
SELECT p.id
FROM profielen p
WHERE p.id IN (SELECT i.user_id
               FROM profielen_images i)


Met deze query verzamel je alle ID's uit profielen die voorkomen in profielen_images. Dacht ik.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')