php & sql problem
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
adresse
angebot
anmeldung
bereich
bezahlte anmeldungen
brauchen
code
doppel
email
euro
finger
guthaben
not
nutzer
postfach
programm
start
target
url
verdienst
-
Hallo an Alle,
also ich habe folgendes Problem. Ich habe eine Seite bei der sich Mitglieder bei kostenlosen Programmen anmelden sollen und die Anmeldung bestätigen müssen. Pro Programm werden Credits hinzugefügt (Anmeldungen) die pro Registrierung wieder von den gesamt Credits angezogen werden. Danach soll das gleiche Angebot nur noch für Nutzer, die es NICHT bereits genutzt haben, angezeigt werden. Wenn die Credits dann auf 0 sind soll das Angebot keinen mehr angezeigt werden. Dies funktionierte bisher aber jetzt auf einmal nicht mehr. Meldet sich ein Nutzer an, dann ist das Angebot für KEINEN mehr sichtbar. Ändere ich die Angebotsnr. in der SQL ist es wieder sichtbar. Allerdings auch für den Nutzer, der es bereits genutzt hat.
Hier mal die php Datei:
<div class="body1"><div class="body"> <div class="body_resize"> <div <?php if($sideBarLeft == 0) echo 'class="left"'; else echo 'class="right"'; ?>> <h2>Bezahlte Anmeldungen</h2><p> <b><font color=blue>Es werden mehrmals Täglich neue Angebote hinzugefügt. Also einfach öfter mal vorbeischauen.<p> Keine Programme mehr da ?! Dann <a href="http://geld.awadu.net/index.php?tp=contacts">kontaktiere uns einfach</a></p></font><p> <font color=red>Achtung !! Bestätigen Sie unbedingt Ihre Anmeldungen in Ihrem Email Postfach (prüfen Sie zur Not auch Ihren Spamordner). Manche Programme sind vom gleichen Anbieter und dort brauchen Sie evtl. eine andere Email Adresse. Bei nicht bestätigten Anmeldungen oder Doppel Anmeldungen wird das Guthaben wieder abgezogen !! Nur 1ne Anmeldung pro Programm !!</font></b></p> <p><center><b> Aktuell möglicher Verdienst in diesem Bereich: <font color=green>47,- Euro</font></b></center></p><p> <?php if(!$start) $start=0; $count=100; $sql=mysql_query("SELECT * FROM signups WHERE fsize > fsignups"); $rows=mysql_num_rows($sql); if($rows<=($start+$count)) $end=$rows; else $end=$start+$count; $totalTasks=0; for($i=$start;$i<$end;$i++) { mysql_data_seek($sql,$i); $arr=mysql_fetch_array($sql); extract($arr); $count = getValue("SELECT COUNT(fourlog) FROM signtask WHERE fourlog = ".quote_smart($_SESSION['login'])." AND tasknum = ".quote_smart($arr['fnum']).""); if($count > 0) { //VISITED ALREADY } else { ?>Angebot Nummer:<?php echo $fnum; ?> <br><b><?php echo $fsitename; ?></b><br><?php echo $fnote; ?><br><a href="<?php echo $furl; ?>" target=blank><?php echo $furl; ?></a><br>Du verdienst: <?php echo $pts_pay_amount; ?> €<br><a href="index.php?tp=confirmreg&id=<?php echo $username; ?>&num=<?php echo $fnum; ?>" target=blank>Registrierung Bestätigen</a><BR><BR><?php $totalTasks++; } } if($totalTasks > 0) { if($start != 0) { $start=$start-$count; echo"<a href=index.php?tp=$tp&st=$st&s=$s&start=$start>pre vious $count</a> | "; $fl=1; } if($end<$rows) { if($fl) { $start=$start+$count+$count; } else { $start=$start+$count; } echo"| <a href=index.php?tp=$tp&st=$st&s=$s&start=$start>nex t $count</a>"; } } else { //IF $totalTasks == 0 echo "Zu Zeit keine Angebote. Schaue spaeter nocheinmal vorbei!<BR>"; } ?> </p></div></div></div>
Bitte um Hilfe. Werde noch verrückt
Beitrag zuletzt geändert: 26.9.2013 8:39:52 von hackyourlife -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Alles was ich dazu sagen kann ist:
1. Der Code ist sehr unübersichtlich. Zu einem guten Code(-stil) gehört auch das Einrücken und allgemeine sauberhalten des Codes.
2. mysql_-Funktionen werden seit PHP 5.5 als veraltet eingestuft. Steige deshalb auf mysqli_ oder am besten gleich auch PDO um.
3. Debugging-Fähigkeiten sind für so etwas immer gut.
Beitrag zuletzt geändert: 27.9.2013 20:08:27 von thundernetworks -
Puuh, das ist jetzt mal ein Schuss ins Blaue, aber ich tippe mal auf ein Server-Update.
Was hat sich denn seit dem letzten Mal geändert oder was wurde geändert an deinem Quellcode?
Das etwas "plötzlich" nicht mehr funktioniert, ist immer eine beliebte Ausrede, die aber selten die Wahrheit war. :-)
Aufgrund des Quelltextes und der, wie schon vom Vorredner festgestellt, veralteten Programmierart, wäre ein Server-Update möglich. Dadurch bedingt, mal angenommen du hast dort wirklich nichts vermurkst, kann es zu Fehlern kommen, da veraltete Befehle nicht mehr funktionieren.
Alles andere wäre nur mit Zugriff auf den Quelltext oder einer Glaskugel möglich, um dir eine bessere Hilfestellung zu bieten.
Was du noch machen könntest, wäre Zeile für Zeile ein "echo $NameDeinerVariable" einzugeben, um zu prüfen an welcher Stelle bei dir der Fehler auftritt.
Jeder fängt mal bei Null an, daher würde ich dir lieber empfehlen, dich ein wenig mehr in PHP einzuarbeiten. Es gibt eine Menge nette Anfängertutorials auf bekannten Seiten. Und bitte nicht irgendwelche Hobby-Seiten mit PHP-Tutorials verwenden.
Mittlerweile bietet http://www.codecademy.com auch PHP an. Dort kannst du sogar auch noch HTML lernen. -
awadu schrieb:
ja dan kann man sich darüber nicht wundern! deine frag eist absolut indiskutabel! ich habe mal nur den anfang umgebrochen auf 'lesbar' (siehe code unten) und wenn jetzt jemand den 'html-spricht' ansieht, werden ihn unzählige runzeln seine strin verunstalten. wenn schon im html-bereich der code so aussieht, denkt man sich: 'vom php kannst die finger dan eh lassen'!
...Bitte um Hilfe. Werde noch verrückt
und jetzt - bevor das hir um ein 'befragemarathon' entwickelt -, sagt uns bitte, wo du diesen codefetzen her hast! erst dann kann man dich richtig beraten, weil niemand hier oder sonstwo wird finger an sowas monströses setzen. sorry!
also quelle her bitte!
---- code: ----<div class="body1"> <div class="body"> <div class="body_resize"> <div <?php if($sideBarLeft == 0) echo 'class="left"'; else echo 'class="right"'; ?>> <h2>Bezahlte Anmeldungen</h2> <p> <b><font color="blue">Es werden mehrmals Täglich neue Angebote hinzugefügt. Also einfach öfter mal vorbeischauen. <p> Keine Programme mehr da ?! Dann <a href="http://geld.awadu.net/index.php?tp=contacts">kontaktiere uns einfach</a> </p></font> <p> <font color="red">Achtung !! Bestätigen Sie unbedingt Ihre Anmeldungen in Ihrem Email Postfach (prüfen Sie zur Not auch Ihren Spamordner). Manche Programme sind vom gleichen Anbieter und dort brauchen Sie evtl. eine andere Email Adresse. Bei nicht bestätigten Anmeldungen oder Doppel Anmeldungen wird das Guthaben wieder abgezogen !! Nur 1ne Anmeldung pro Programm !!</font></b></p> <p> <center><b> Aktuell möglicher Verdienst in diesem Bereich: <font color=green>47,- Euro</font></b></center> </p> <p>
(oh mann! mird wird schlecht bei der betrachtung!) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage