php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-07-2018, 15:18
wheelie
 Registrierter Benutzer
Links : Onlinestatus : wheelie ist offline
Registriert seit: Jul 2018
Beiträge: 18
wheelie befindet sich auf einem aufstrebenden Ast
Standard Problem mit Skript bei Umstellung von PHP5.6 auf PHP7

guten Tag miteinander und danke dafür, dass ich hier mein Problem posten kann. Ich habe seit über 10 Jahren ein online-riddle (riddle.p4x.ch) in das viel Arbeit von Freiwilligen und von mir geflossen ist. Es ist ein non-profit Projekt, ich generiere da keinen Gewinn draus.

Alle 50 Level kommt ein Ranking, in das man sich eintragen kann. Das hat mir mal vor zig Jahren jemand programmiert, ich versteh da wenig von. Nun funktioniert das Skript bei der Umstellung auf PHP7xx nicht mehr. Und ich hab keine Ahnung, woran es liegt.

Was die Seite machen sollte:
wenn man zum ersten Mal auf die Seite kommt, kann man sich über ein Formular eintragen, dieser Wert wird dann in der DB gespeichert. Gleichzeitig wird ein Cookie abgelegt, damit man sich nicht doppelt eintragen kann.
Kommt man zum wiederholten Mal auf die Seite, wird nur das Ranking angezeigt.

Fehlermeldungen werden keine angezeigt und daher weiss ich auch nicht, welchen Part des Codes ich posten soll.

Es sind drei Dateien (index.php, inc_rate.php und submitcomment.php)
Die inc_rate.php ist relativ lang, weil aber noch CSS-Stylesheet inkludiert ist.

Ich könnte mir vorstellen, dass es für jemanden mit PHP Kenntnissen vielleicht sofort ersichtlich ist, welche Befehle es so nicht mehr gibt.

Hat jemand eine hilfreiche Idee, was ich tun kann oder posten soll? Ich wäre dafür sehr dankbar.

Vielen Dank.
Stephan
Mit Zitat antworten
  #2 (permalink)  
Alt 02-07-2018, 16:08
wheelie
 Registrierter Benutzer
Links : Onlinestatus : wheelie ist offline
Registriert seit: Jul 2018
Beiträge: 18
wheelie befindet sich auf einem aufstrebenden Ast
Standard Zusatzinfos

Nachdem ich nun das display errors auf dem Server eingeschaltet habe, kommt doch noch eine fehlermeldung:

HTML-Code:
Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /home/p4xch/public_html/riddle/50/inc_rate.php:12 Stack trace: #0 /home/p4xch/public_html/riddle/50/index.php(14): require() #1 {main}   thrown in /home/p4xch/public_html/riddle/50/inc_rate.php on line 12
die betreffende Zeile sieht so aus:
PHP-Code:
$db_hostname "localhost";  //usually "localhost be default"
$db_username "xxxxx";  //your user name
$db_pass "xxxxx";  //the password for your user
$db_name "p4xch_riddle";  //the name of the database

$dbh mysql_connect($db_hostname$db_username$db_pass) or die ('I cannot connect to the database because: ' mysql_error());
mysql_select_db ($db_name); 
in PHP5.6 schafft er die Verbindung, ich kann auch den Namen eintragen und er wird in der DB gespeichert.

Geändert von wheelie (02-07-2018 um 16:18 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 02-07-2018, 16:14
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Die mysql_* Funktionen galten bei PHP 5 schon sehr lange als veraltet und sind mit PHP 7 endlich entfernt worden.

Die Nachfolger sind mysqli und PDO. Die mysqli-API ist recht ähnlich zur mysql-API. Der Umstieg sollte also mit relativ wenig Aufwand machbar sein.
Mit Zitat antworten
  #4 (permalink)  
Alt 02-07-2018, 16:23
wheelie
 Registrierter Benutzer
Links : Onlinestatus : wheelie ist offline
Registriert seit: Jul 2018
Beiträge: 18
wheelie befindet sich auf einem aufstrebenden Ast
Standard

vielen Dank. Dann schau ich mal in der Befehlsreferenz nach. Melde mich dann wieder, falls es nicht das einzige Problem war ;-)
Mit Zitat antworten
  #5 (permalink)  
Alt 02-07-2018, 16:36
wheelie
 Registrierter Benutzer
Links : Onlinestatus : wheelie ist offline
Registriert seit: Jul 2018
Beiträge: 18
wheelie befindet sich auf einem aufstrebenden Ast
Standard nächstes Problem

Hat bestens funktioniert, danke.

Das nächste Problem verursacht eine Funktion, die in index.php aufgerufen wird und in inc_rate definiert ist.

der fehler:

HTML-Code:
Uncaught Error: Call to undefined function mysql_query() in /home/p4xch/public_html/riddle/50/inc_rate.php:353 Stack trace: #0 /home/p4xch/public_html/riddle/50/index.php(34): getComments('1') #1 {main}   thrown in /home/p4xch/public_html/riddle/50/inc_rate.php on line 353
der Code in index.php
PHP-Code:
submitComments("1","$PHP_SELF");
getComments("1");
}
else
{
getComments("1");

der code in der inc_rate.php
PHP-Code:
function getComments($tutid){

//hier folgt viel Layout in CSS
echo "
<style>
</style>
  
    "
;
//fetch all comments from database where the tutorial number is the one you are asking for
$commentquery mysql_query("SELECT * FROM comments WHERE tutorialid='$tutid' ORDER BY date") or die(mysql_error());

//find the number of comments
$commentNum mysql_num_rows($commentquery);

//create a headline
//echo "<div id=\"currentcomments\" class=\"submitcomment\"><h3 class=\"formtitle\">Ranking</h3>\n";
//for each comment in the database in the right category number...
while($commentrow mysql_fetch_row($commentquery)){
//for security, parse through the bbcode script
//the number corresponds to the column (the message is always stored in column 4
//COUTING STARTS at 0!!!
$commentbb BBCode($commentrow[4]);
//create the right date format
$commentDate formatDate($commentrow[6]);




        echo 
"<div class=\"commentbody\" id=\"$commentrow[0]\">\n
        <p></p>\n
        <p class=\"postedby\">"
;
        {
        echo 
"#$commentrow[0]  |   $commentrow[2];    $commentbb ";
        }
        echo 
"on $commentDate</p>\n
        \n</div>"
;
        
    }
    echo 
"</div>";

Mit Zitat antworten
  #6 (permalink)  
Alt 02-07-2018, 16:51
wheelie
 Registrierter Benutzer
Links : Onlinestatus : wheelie ist offline
Registriert seit: Jul 2018
Beiträge: 18
wheelie befindet sich auf einem aufstrebenden Ast
Standard

hab grad gesehen, dass die befehle in diesem segment ja auch neu sein müssen. ich kläre das und komme wieder. ich kann obigen beitrag nur editieren, nicht löschen. sorry.
Mit Zitat antworten
  #7 (permalink)  
Alt 04-07-2018, 10:15
wheelie
 Registrierter Benutzer
Links : Onlinestatus : wheelie ist offline
Registriert seit: Jul 2018
Beiträge: 18
wheelie befindet sich auf einem aufstrebenden Ast
Standard fortgesetzte Probleme

So, ich konnte mit Hilfe der PHP Referenz Fortschritte erzielen. Die Seite wird jetzt soweit richtig dargestellt. Nun bereitet aber das Auslesen aus der DB Probleme. Konkret in diesem Abschnitt:
PHP-Code:
mysqli_report(MYSQLI_REPORT_ALL);  

$con mysqli_connect($db_hostname$db_username$db_pass$db_name);

// Check connection

if (mysqli_connect_errno())
  {
  echo 
"Failed to connect to MySQL: " mysqli_connect_error();
  }


function 
getComments($tutid){

$sql="SELECT * FROM comments WHERE tutorialid='$tutid' ORDER BY date";

if (
$result=mysqli_query($con,$sql))
  {
  
// Fetch one and one row

  
while ($row=mysqli_fetch_row($result))
    {
    
printf ("%s (%s)\n",$row[0],$row[2]);
    }
  
// Free result set
  
mysqli_free_result($result);
}



Es erscheint keine Fehlermeldung, aber auch keine Einträge aus der DB.

Geändert von wheelie (04-07-2018 um 11:38 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 04-07-2018, 10:41
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Hast du die Fehlerausgabe von mysqli aktiviert?

PHP-Code:
mysqli_report(MYSQLI_REPORT_ALL); 
Mit Zitat antworten
  #9 (permalink)  
Alt 04-07-2018, 11:12
wheelie
 Registrierter Benutzer
Links : Onlinestatus : wheelie ist offline
Registriert seit: Jul 2018
Beiträge: 18
wheelie befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
Hast du die Fehlerausgabe von mysqli aktiviert?

PHP-Code:
mysqli_report(MYSQLI_REPORT_ALL); 
das habe ich bei meinem provider für alle seiten aktiviert. und ich habe es jetzt in mein php-skript eingefügt. ändert aber nichts.
Mit Zitat antworten
  #10 (permalink)  
Alt 04-07-2018, 11:29
wheelie
 Registrierter Benutzer
Links : Onlinestatus : wheelie ist offline
Registriert seit: Jul 2018
Beiträge: 18
wheelie befindet sich auf einem aufstrebenden Ast
Standard

der Aufruf in der index.php sieht so aus:

PHP-Code:
getComments("1"); 
Mit Zitat antworten
  #11 (permalink)  
Alt 04-07-2018, 11:43
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Was steht in $result drin?
Mit Zitat antworten
  #12 (permalink)  
Alt 04-07-2018, 12:34
wheelie
 Registrierter Benutzer
Links : Onlinestatus : wheelie ist offline
Registriert seit: Jul 2018
Beiträge: 18
wheelie befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
Was steht in $result drin?
vielen Dank für die Rückfrage, ich bin dafür sehr dankbar.

wie kann ich den Inhalt ausgeben? mit
PHP-Code:
echo $result
oder mit

PHP-Code:
echo mysqli_info($result); 
bringt beides nichts.

Geändert von wheelie (04-07-2018 um 12:39 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 04-07-2018, 12:48
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

var_dump($result);
Mit Zitat antworten
  #14 (permalink)  
Alt 04-07-2018, 12:50
wheelie
 Registrierter Benutzer
Links : Onlinestatus : wheelie ist offline
Registriert seit: Jul 2018
Beiträge: 18
wheelie befindet sich auf einem aufstrebenden Ast
Standard

danke. ich habs hier eingesetzt:

PHP-Code:
    var_dump($result); 

      
// Free result set
      
mysqli_free_result($result); 
müsste etwas auf dem Bildschirm erscheinen? es erscheint nichts.
Mit Zitat antworten
  #15 (permalink)  
Alt 04-07-2018, 13:01
wheelie
 Registrierter Benutzer
Links : Onlinestatus : wheelie ist offline
Registriert seit: Jul 2018
Beiträge: 18
wheelie befindet sich auf einem aufstrebenden Ast
Standard

ich nehme an, der Aufruf
PHP-Code:
    var_dump($result); 
muss im Code an der Stelle kommen, nachdem die Variable zum ersten Mal auftrat, oder?
Ich kann es nicht nach dem Eröffnungstag des PHP codes setzen?
Wenn ich das mache ist die Ausgabe NULL.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Skript funktioniert nicht nach Umstellung PHP 4 auf 5 stilgar Projekthilfe 6 23-02-2014 00:33
Probleme mit Flash Gästebuch bei Umstellung auf neue PHP Version wuffilapalma Projekthilfe 0 12-04-2013 00:34
Problem mit Sonderzeichen nach Umstellung auf UTF-8 Forsaken SQL / Datenbanken 2 20-07-2010 15:27
Problem mit mysql_real_escape_string bei Umstellng auf PHP5 juliar PHP Developer Forum 1 19-04-2007 22:10
Umstellung von PHP4 auf PHP5 ThuiShui PHP Developer Forum 5 24-09-2004 07:25

Themen-Optionen
Thema bewerten
Thema bewerten:

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:09 Uhr.