CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
03.05.2007, 09:29:10
|
Anfänger
|
|
Registriert seit: Feb 2007
Beiträge: 11
|
|
Im Text statt einem Punkt ein &
Hi Leute!
Kann mir bitte jemand sagen, warum ich immer ein & statt einem Punkt angezeigt bekomme? Ich komm da einfach nicht weiter.
$pm->email = 'Vielen Dank für Deine Email.<br>Folgende Übersicht beinhaltet .....
Dabei ist es eal ob ich den Code für die Umlaute verwende oder direkt die Umlaute.
Letzteres bringt wirre Zeihen im Email, aber bei beiden habe ich das Problem, dass er den Punkt als & darstellt.
Bei nem kurzen Satz kann ich den Punkt weg lassen, aber bei der Emailadresse ist das etwas doof.
Danke, obi
|
03.05.2007, 10:28:36
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: Im Text statt einem Punkt ein &
in deinem bespiel sehe ich den . dort, wo ein . sein sollte und das & dort, wo ein & sein sollte.
desweiteren: doppelposts müssen nicht sein.
|
03.05.2007, 12:00:59
|
Junior Member
|
|
Registriert seit: Jun 2004
Beiträge: 473
|
|
AW: Im Text statt einem Punkt ein &
Was hat denn ein " '.' vs. '&' " Problem mit Umlautkodierungen zu tun? ...da gehören doch gar keine Punkte hinein.
Wenn du wirre Zeichen siehst, liegt das vielleicht am falschen CharSet im Email-Header.
...oder an der Alkoholmenge im Blut des Betrachters?!? ;-)
|
03.05.2007, 13:10:22
|
|
Anfänger
|
|
Registriert seit: Jan 2003
Ort: Bochum
Alter: 42
Beiträge: 75
|
|
AW: Im Text statt einem Punkt ein &
Veilleicht solltest Du den String einfach mal zumachen?
__________________
"Schwester, was ist denn das für ein merkwürdiges Kabel?" - "Um Gottes Willen Herr Doktor, das ist die Arterie!"
|
03.05.2007, 20:33:01
|
Anfänger
|
|
Registriert seit: Apr 2007
Beiträge: 9
|
|
AW: Im Text statt einem Punkt ein &
Wie wärs, wenn du uns auch ein Problem zum lösen gibst?
Code:
$pm->email = 'Vielen Dank für Deine Email.<br>Folgende Übersicht beinhaltet .....";
Die komischen wirren Zeichen 'ü' sind einfach die Umlaute. "ü" "ö" "ä" etc. werden so wirr geschrieben, wenn du es nicht ausstellst.
Hat etwas mit der codierung denk ich zu tun. Da kenn ich mich jetzt nicht so aus.
Aber wo ist ein & - Zeichen statt einen '.' ?
Frage an die anderen... ist das die alte ASCII - codierung, dass man "ü" statt ü schreibt?
Weil soweit ich weiß kann man seit der PHP 4.x Version auch ü schreiben.
Kann mich da jemand aufklären?
Gruß oRigin
|
03.05.2007, 21:06:43
|
|
Member
|
|
Registriert seit: Mar 2005
Alter: 39
Beiträge: 579
|
|
AW: Im Text statt einem Punkt ein &
Das ist kein Problem von PHP, sondern eins von HTML. HTML verwendet erst mal nur ASCII, die Umlaute werden maskiert.
Zum Problem: Vielleicht wäre es interessant zu wissen, was die Klasse weiter mit diesem String macht...
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')
Für 100% sauberen Code.
|
03.05.2007, 21:30:27
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Im Text statt einem Punkt ein &
Zitat:
Zitat von Serp
Zum Problem: Vielleicht wäre es interessant zu wissen, was die Klasse weiter mit diesem String macht...
|
Noch interessanter wäre, endlich mal die Klasse zu sehen, der der OP seine Texte zum Fraß vorwirft. Sonst ist das ganze Thema reif für die Tonne.
|
03.05.2007, 21:58:53
|
Anfänger
|
|
Registriert seit: Feb 2007
Beiträge: 11
|
|
AW: Im Text statt einem Punkt ein &
Sorry, hier:
class payment {
var $paymentmethods = array();
// Konstruktor Bezahl-Methoden definieren
function payment() {
$pm = new payment_method();
$pm->caption = 'Angebotserstellung';
$pm->info = 'Ein fertiges Angebot wird Ihnen per Email zugestellt.';
$pm->postgateway = 'Vielen Dank. Ihre Anfrage wurde entgegengenommen. Sie erhalten in Kürze eine Bestätigungsmail.<br><br>
<b><font color="#FF0000">Vergessen Sie bitte nicht, sich aus Sicherheitsgründen<br>
abzumelden wenn Sie den Einkauf abgeschlossen haben!</font></b>';
$pm->email = 'Vielen Dank für Ihre Anfrage<br>Folgende Übersicht beinhaltet einen <b>vorläufigen</b> Rechnungsbetrag <br>Die Endgültige Summe zzgl Versandkosten wird im Angebot berechnet';
$pm->noship = '';
$pm->uid = '03c19898f30c98525';
$pm->price = 0;
$pm->vat = 16;
$pm->free = 0;
$pm->parameter[0] = '';
$pm->parameter[1] = '';
$pm->parameter[2] = '';
$pm->parameter[3] = '';
$pm->parameter[4] = '';
$pm->parameter[5] = '';
$pm->minimum = '0';
$pm->maximum = '0';
$pm->reliability = '0';
array_push($this->paymentmethods, $pm);
}
Hoffe, dass war das was fehlte.
Der unter "email" angegebene Text wird in ein Email eingefügt, dass automatisch versendet wird.
In diesem Mail sind dann die Umlaute zwar richtig, aber sämtliche Punkte die ja zur Rechtschreibung und Emailadressen gehören werden als & dargestellt.
Und ich kann ned nachvollziehen warum.
Danke, obi
|
04.05.2007, 00:58:46
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Im Text statt einem Punkt ein &
Zitat:
Zitat von Obelix01
Sorry, hier:
|
Falsch. Das wird gesucht:
Zitat:
$pm = new payment_method();
|
weil das:
Zitat:
$pm->email = 'Vielen Dank für Ihre Anfrage<br>Folgende Übersicht beinhaltet einen <b>vorläufigen</b> Rechnungsbetrag <br>Die Endgültige Summe zzgl Versandkosten wird im Angebot berechnet';
|
der Anlaß Deiner Frage ist.
Zitat:
Und ich kann ned nachvollziehen warum.
|
Ohne zu wissen, was die Methode mail() der Klasse payment_method mit Deinem Text veranstaltet, kann unsereiner den Fehler auch "ned nachvollziehen".
|
04.05.2007, 05:44:32
|
Anfänger
|
|
Registriert seit: Feb 2007
Beiträge: 11
|
|
AW: Im Text statt einem Punkt ein &
OK, dann hier das ganze File:
<?php
if (!defined('RUNNING'))
die('403: Forbidden');
// Klasse Versand-Methode
class shipping_method {
var $uid = "";
var $caption = "";
var $info = "";
var $vat = 0;
var $free = 0;
var $price = array();
var $weight = array();
var $actualprice = -1;
function shipping_method() {
}
// Preis nach Gewicht anpassen und Versankostenfreiheit prüfen
function calc_price($weight, $price) {
$this->actualprice = -1;
if ($this->weight[1] == 0) {
// Nur ein Preis
$this->actualprice = $this->price[1];
} else {
// Preis nach Gewicht
for ($i = count($this->weight); $i > 0; $i--) {
if ($this->weight[$i] != 0) {
if ($weight <= $this->weight[$i])
$this->actualprice = $this->price[$i];
}
}
}
// Versandkostenfrei?
if ($price >= $this->free && $this->free != 0 && $this->actualprice != -1)
$this->actualprice = 0;
}
}
// Klasse Versand
class shipping {
var $shippingmethods = array();
// Konstruktor Versand-Methoden definieren
function shipping() {
$sm = new shipping_method();
$sm->caption = 'Angebotserstellung';
$sm->info = '';
$sm->uid = '03c19898f811f7c01';
$sm->free = 0;
$sm->vat = 20;
$sm->perpiece = 0;
$sm->price[1] = 0;
$sm->weight[1] = 0;
$sm->price[2] = 0;
$sm->weight[2] = 0;
$sm->price[3] = 0;
$sm->weight[3] = 0;
$sm->price[4] = 0;
$sm->weight[4] = 0;
$sm->price[5] = 0;
$sm->weight[5] = 0;
array_push($this->shippingmethods, $sm);
}
// Versand-Methoden anzeigen
function show() {
global $basket, $user;
$found = false;
echo
'<form name="shippingform" method="post" action="s2dpayment.php">
<table width="100%" cellpadding="0" cellspacing="3">';
$ok = false;
foreach (array_keys($this->shippingmethods) as $key) {
$sm = &$this->shippingmethods[$key];
$sm->calc_price($basket->get_weight(), $basket->subtotal - $basket->rebate);
// Nicht erlaubte Methode?
foreach ($basket->items as $item) {
if ($item->quantity != 0) {
if (strstr($item->noship, $sm->uid))
$sm->actualprice = -1;
}
}
// GGf Auswahl löschen
if ($sm->actualprice == -1 && $sm->uid == $user->shipping_uid)
$user->shipping_uid = -1;
if ($sm->uid == $user->shipping_uid)
$ok = true;
}
unset($sm);
// Anzeigen
foreach ($this->shippingmethods as $sm) {
if ($sm->actualprice != -1) {
$found = true;
// Wenn nichts gewählt, erstes wählen
if ($user->shipping_uid == -1 || !$ok) {
$user->shipping_uid = $sm->uid;
$ok = true;
} echo
'<tr>
<td class="s2d"><input type="radio"
'.($user->shipping_uid == $sm->uid ? ' checked="checked" ' : '').'
name="method" value="'.$sm->uid.'" /></td>
<td class="s2d" width="100%"><strong>'.$sm->caption.'</strong><br /></td>
<td align="right" nowrap class="s2d"><strong>';
if ($sm->actualprice != 1) echo
format($sm->actualprice).' EUR';
else echo
'aus Angebot ersichtlich';
echo '</strong></td></tr>';
if (!empty($sm->info)) echo
'<tr>
<td></td>
<td class="s2d" width="100%">'.$sm->info.'<br /><br /></td>
<td></td>
</tr>';
}
}
echo
'</table><input type="hidden" name="next">';
// Gewicht zeigen
if ($found) {
if ($basket->get_weight() > 0) echo
'<p> Gesamtgewicht: '.format_weight($basket->get_weight()).' kg</p>';
} else echo
'<p class="trx">Es konnte keine geeignete Versandart ermittelt werden, weil das Gesamtgewicht zu hoch ist oder die von Ihnen ausgewählten Artikel nicht in einer einzigen Lieferung versendet werden können.</p>';
if ($found)
show_navigation(PREVB + NEXTB, 's2dbskt.php');
else
show_navigation(PREVB, 's2dbskt.php');
}
// Gewählte Versandmethode auslesen
function get($shipping_uid) {
foreach ($this->shippingmethods as $sm) {
if ($sm->uid == $shipping_uid)
return $sm;
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////
// Klasse Bezahl-Methode
class payment_method {
var $uid = "";
var $caption = "";
var $info = "";
var $postgateway = "";
var $email = "";
var $price = 0;
var $vat = 0;
var $free = 0;
var $actualprice = 0;
var $noship = 0;
var $parameter = array();
var $version = 0;
var $minimum;
var $maximum;
function payment_method() {
for ($i = 0; $i <= 5; $i++)
$this->parameter[$i] = '';
}
// Versandkostenfreiheit prüfen
function calc_price($price) {
$this->actualprice = $this->price;
// Versandkostenfrei?
if ($price >= $this->free && $this->free != 0)
$this->actualprice = 0;
}
}
// Klasse Bezahlung
class payment {
var $paymentmethods = array();
// Konstruktor Bezahl-Methoden definieren
function payment() {
$pm = new payment_method();
$pm->caption = 'Angebotserstellung';
$pm->info = 'Ein fertiges Angebot wird Ihnen per Email zugestellt.';
$pm->postgateway = 'Vielen Dank. Ihre Anfrage wurde entgegengenommen. Sie erhalten in Kürze eine Bestätigungsmail.<br><br>
<b><font color="#FF0000">Vergessen Sie bitte nicht, sich aus Sicherheitsgründen<br>
abzumelden wenn Sie den Einkauf abgeschlossen haben!</font></b>';
$pm->email = 'Vielen Dank für Ihre Anfrage<br>Folgende Übersicht beinhaltet einen <b>vorläufigen</b> Rechnungsbetrag <br>Die Endgültige Summe zzgl Versandkosten wird im Angebot berechnet';
$pm->noship = '';
$pm->uid = '03c19898f30c98525';
$pm->price = 0;
$pm->vat = 16;
$pm->free = 0;
$pm->parameter[0] = '';
$pm->parameter[1] = '';
$pm->parameter[2] = '';
$pm->parameter[3] = '';
$pm->parameter[4] = '';
$pm->parameter[5] = '';
$pm->version = 'shop2dateversion10';
$pm->minimum = '0';
$pm->maximum = '0';
$pm->reliability = '0';
array_push($this->paymentmethods, $pm);
}
// Bezahl-Methoden anzeigen
function show() {
global $basket, $user;
$ok = false;
$found = false;
echo
'<form name="paymentform" method="post" action="s2daddr.php">
<table width="100%" cellpadding="0" cellspacing="3"1>';
foreach (array_keys($this->paymentmethods) as $k ) {
$pm = &$this->paymentmethods[$k];
$pm->calc_price($basket->subtotal - $basket->rebate);
// Nicht erlaubte Methode?
if (strstr($pm->noship, $basket->shippingmethod->uid))
$pm->actualprice = -1;
// Minimum oder Maximum überschritten?
if ($pm->minimum > $basket->subtotal - $basket->rebate || $pm->maximum < $basket->subtotal - $basket->rebate && $pm->maximum)
$pm->actualprice = -1;
// Kundenbonität
if ($pm->reliability > $user->reliability)
$pm->actualprice = -1;
// GGf Auswahl löschen
if ($pm->actualprice == -1 && $pm->uid == $user->payment_uid)
$user->payment_uid = -1;
if ($pm->uid == $user->payment_uid)
$ok = true;
}
unset($pm);
// Anzeigen
foreach ($this->paymentmethods as $pm) {
if ($pm->actualprice != -1) {
$found = true;
// Wenn nichts gewählt, erstes wählen
if ($user->payment_uid == -1 || !$ok) {
$user->payment_uid = $pm->uid;
$ok = true;
} echo
'<tr>
<td class="s2d"><input type="radio"
'.($user->payment_uid == $pm->uid ? ' checked="checked" ' : '').'
name="method" value="'.$pm->uid.'" /></td>
<td class="s2d" width="100%"><strong>'.$pm->caption.'</strong><br /></td>
<td class="s2d" align="right" nowrap><strong>';
if ($pm->actualprice != 1) echo
format($pm->actualprice).' EUR';
else echo
'aus Angebot ersichtlich';
echo '</strong></td></tr>';
if (!empty($pm->info)) echo
'<tr>
<td></td>
<td class="s2d" width="100%">'.$pm->info.'<br /><br /></td>
<td></td>
</tr>';
}
}
echo '</table><input type="hidden" name="next">';
if ($found)
show_navigation(PREVB + NEXTB, 's2dship.php');
else {
echo '<p class="trx">Es konnte leider keine geeignete Zahlungsweise ermittelt werden. Bitte wählen Sie eine andere Versandart oder schreiben Sie uns eine Mail.</p>';
show_navigation(PREVB, 's2dship.php');
}
}
// Gewählte Bezahl-Methode auslesen
function get($payment_uid) {
foreach ($this->paymentmethods as $pm) {
if ($pm->uid == $payment_uid)
return $pm;
}
}
}
?>
Hoffe dass ich nun alles gepostet hab was wichtig ist.
Vielen Dank für eure Mühe und Hilfe!!
Gruß, obi
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:56:02 Uhr.
|