Script omzetten naar PHP7
Ik heb jaren geleden voor een een vriendin een script van internet gedownload die een bed&breakfast heeft.
Het script is een bezettingskalender die laat zien wat vrije dagen zijn.
Nu wordt dit script binnenkort niet meer ondersteunt en heeft ze mij gevraagd om dit om te zetten maar ik weet echt niet hoe.
Heb totaal geen verstand van PHP, het enige wat ik weet is MYSQL vervangen wordt door MSQLi
Dit heb ik op alle bladen in de map includes aangepast maar toch krijgt hij een foutmelding dus ik denk dat er meer fout is vergeleken bij het oude script.
Wie wil tegen een kleine betaling mij hierbij helpen want ik zit echt met de handen in het haar.
Hoop dat er iemand reageert.
Groetjes
Berrie
We kunnen je ook gratis op het hier forum helpen. Begin maar eens met de foutmeldingen op te noemen die je nog krijgt.
Berrie Heres op 20/06/2017 22:13:18:
Heb totaal geen verstand van PHP, het enige wat ik weet is MYSQL vervangen wordt door MSQLi
Heb totaal geen verstand van PHP, het enige wat ik weet is MYSQL vervangen wordt door MSQLi
MySQLi bedoel je, en dan alsnog is alleen het toevoegen van de 'i' niet altijd voldoende. Zo zijn er ook bepaalde functies zoals mysqli_query(), mysqli_real_escape_string() en mysqli_error() die een extra identifier parameter nodig hebben die verwijst naar de connectie. En zo zijn er nog wel enkele verschillen.
Er komt een melding in beeld dat de booking calender geen table heeft en dat hij eerst moet worden aangemaakt.
Deze melding staat in het script als een echo
====================================================================
// create table
$sql="
CREATE TABLE IF NOT EXISTS `".T_BOOKINGS."` (
`id` int(10) NOT NULL auto_increment,
`id_item` int(20) NOT NULL default '0',
`the_date` date NOT NULL default '0000-00-00',
`state` char(3) NOT NULL default 'all',
PRIMARY KEY (`id`),
KEY `id_item` (`id_item`)
) DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
";
if(!mysql_query($sql)){
echo '
<center>
<h1>UNABLE TO CREATE <u>'.T_BOOKINGS.'</u> TABLE</h1>
<br>Please try again or use the following information to help debug:
<br><br>QUERY: '.$sql.'
<br><br>ERROR: '.mysql_error().'
</center>
';
}else{
echo '
=========================================================
Als hij nog gewoon onder de oude php draait, de provider heeft er een webconfig opgezet is er niets aan de hand en zie je gewoon de bezetting.
Wat ik lees in de andere reactie is het nog niet zo makkelijk het hele php omzetten
Bij een andere melding staat er dat de config php niet is aangepast maar daar staan alleen de naam en pass plek enz van de mysql database
Is het hoofdletter gevoelig mysqli of MySQLi in het script
In dit geval is de code:
en
Waarbij $conn in dit geval naar je connectie verwijst, controleer de juiste variabele hiervoor.
Verder hebben we op het forum ook [code][/code]-tags om codes tussen te plaatsen voor makkelijke leesbaarheid.
Kan ik misschien de bestanden aanbieden zodat jullie ze kunnen bekijken wat er mis gaat.
Ik snap er echt helemaal niets van, en wil er best iest voor geven want dit gaat echt mij pet te boven
Waar loop je op vast dan? Als je het wilt laten doen, dan raad ik aan om een topic in het Vacatureforum te maken, volgens de daar geldende criteria.
Heb alles waar mysql stond mysqli van gemaakt.
Toch geeft de code nog geen verbinding.
Denk misschien omdat de code waarschijnlijknog ouder is dan 5.6 dus moet er meer worden aangepast en ik zou echt niet weten wat.
Ik zal morgen een verzoek plaatsen op de vacaturesite wat zelf gaat mij dit als geen php kenner niet lukken.
Bedankt in iedergeval voor de hulp
Berrie Heres op 21/06/2017 00:16:38:
Heb alles waar mysql stond mysqli van gemaakt.
Door er alleen een i aan toe te voegen?
Maar had met get eerste antwoord al door dat dit zeker niet het geval is. Hahahaha
Er komt meer bij kijken.
Je krijgt de melding dat een zekere tabel ontbreekt, maar dat wordt afgeleid uit het mislukken van het uitvoeren van de query.
Daar had je een melding over verkeerde parameters in de functie over moeten krijgen. Als je die niet hebt gehad, loopt je script kennelijk door en wordt er een verkeerde melding gegeven.
Zoiets als bij de pinautomaat staan, de verkeerde pincode invoeren en dan weggestuurd worden met de melding dat je saldo onvoldoende is.
Op de ontwikkel-omgeving moet de error reporting zo hoog en strikt mogelijk staan: je wilt elk wissewasje oplossen, want later zul je dat niet meer direct zien.